笔记存在别人服务器上不放心,我用一条命令搭了个自己的

举报
yd_231995061 发表于 2026/11/04 20:18:47 2026/11/04
【摘要】 试过云笔记和本地 Markdown,最后选了自托管。记录部署过程、数据到底存在哪、升级时差点出事的那次,以及它不适合什么人。

我写东西比较多,笔记一直存在几个云服务上。前阵子想导出全部内容做个备份,发现导出格式乱七八糟——图片和文字分离,格式全丢。

那一刻意识到一个问题:数据在别人服务器上,取不取得回来不完全由我决定。

先说试过的三条路

云笔记

Notion 这类,好用,界面舒服,多设备同步无感。但两个问题绕不开:导出费劲,免费额度有限,一不注意就超出。

本地 Markdown 自己同步

Obsidian 就是这个思路,文件在本地,纯文本,十年后也打得开。我用了大半年。

问题出在同步。手机上要看笔记,得自己搭同步或者用网盘。网盘同步冲突过一次,两个版本互相覆盖,丢了两天的记录。纯文本的好处是数据本身还在,坏处是同步这件事得我自己管。

自托管

数据在自己的机器上,浏览器访问,多设备天然同步。代价是自己维护——更新、备份、出问题自己修。

这次我选了这个。不是因为技术好玩,是因为"备份就是拷一个文件夹"这件事让我踏实。

一条命令跑起来

用的是 memos,Go 写的轻量笔记,六万多星。它不追求功能多,就是一个时间线式的随手记。

机器上装了 Docker 的话,一条命令:

docker run -d \
  --name memos \
  -p 5230:5230 \
  -v ~/.memos:/var/opt/memos \
  neosmemo/memos:stable

然后浏览器打开 http://你的IP:5230,创建第一个账号就能用。

拆开看就三件事:

  • -p 5230:5230:把容器的 5230 端口映射到宿主机
  • -v ~/.memos:/var/opt/memos:把宿主机的 ~/.memos 挂进容器
  • neosmemo/memos:stable:用 stable 标签的镜像

最关键的是第二条。memos 的所有数据——数据库、上传的附件——都在容器里的 /var/opt/memos。挂出来之后等于全在宿主机那个目录下。备份就是打包拷走,换机器解压回去。

不用导 mysqldump,也不担心容器删了数据跟着没。

踩到的四个坑

一、端口被占

第一次起的时候报:

Error response from daemon: driver failed programming external connectivity
on endpoint memos: Bind for 0.0.0.0:5230 failed: port is already allocated

5230 被别的服务占了。改映射左边那个数字就行,比如 -p 15230:5230——容器内部还是 5230,外面用 15230 访问。

二、~ 在某些场景下不展开

-v ~/.memos:... 在交互式 shell 里没问题。但如果把这条命令写进 systemd 的 unit、用 sudo 跑、或者塞进某个脚本,~ 可能不会替换成家目录,Docker 会在当前目录建一个字面名叫 ~ 的文件夹。

数据不是丢了,是存到你没想到的地方去了。等升级镜像重新挂载时才发现"数据没了",特别容易慌。

稳妥写法用绝对路径:

-v /home/youruser/.memos:/var/opt/memos

三、升级必须过渡一个版本

这个坑差点让我出事。看官方说明才知道:memos 的版本号格式是 YY.MM.N(比如 26.10 表示 2026 年 10 月)。如果你从 v0.31.0 之前的版本直接跳到当前版本,数据库结构变更会让程序起不来。

得先单独跑一次 v0.31.0 让它把数据迁移过去,再换新版本。

我现在每次升级前都做一件事:先把 ~/.memos 整个目录复制一份。几百兆,几十秒,比事后恢复省心得多。

四、以为 stable 就是最新

Docker tag 有讲究:

  • stable:跟最新稳定版
  • 26.10 这种月份 tag:跟那个月的最新稳定版
  • canary:跟开发版

想要新功能用 canary,但也意味着随时可能撞上没修完的 bug。我留在 stable,稳定比尝鲜重要。

它不是什么

得说清楚:这不是 Notion 的替代品。

没有数据库视图、没有看板、双向链接很弱、协作基本没有。它的定位就是"随手记一句话"——一条 memo 可以只有一个词,也可以写长文用 Markdown 排版。

想写结构化文档、做项目管理,会失望。

还有一点得讲明白:自托管的成本不在搭建,在维护。搭起来三分钟,之后要记着备份、偶尔升级、出问题自己查。不愿意管这些的话,云笔记更省心——这不是技术优劣问题,是愿不愿意拿运维换数据所有权。

现在的样子

跑了快一个月,记了两百多条。手机上把网页加到主屏当 PWA 用,跟 App 差不多。

每周日晚上做一次备份:把 ~/.memos 打包传到对象存储,写个 cron 就自动了。

值不值,取决于你多在意"数据在自己手里"。对我来说值——至少下次想导出全部内容,我直接拷文件夹就行。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。