它是什么
Memos 是一个轻量的碎片记录服务,部署在家里的小主机上,界面和交互都像朋友圈:输入框、时间线、图片,随手写一句就发出去。我把它归在「家庭服务」这一类,因为它和相册、笔记一样,是自己家里的一个常驻小工具。
为什么做
日常有很多「不值得写成一篇博客」的念头:看书的摘录、调试时的临时结论、某个命令的备忘、突然想到的一句话。放进正式笔记太重,发到公共平台又觉得没必要。Memos 补的就是这个空档——记录成本足够低,低到愿意天天用。
解决什么问题
- 不再为了「凑成一篇文章」而放弃记录;
- 数据放在自己机器上,不依赖第三方平台的账号和寿命;
- 单条记录可检索、可回顾,比聊天记录可靠。
现在的状态
服务处于运行中,日常在用。部署方式很朴素:Docker 起一个容器,挂一个数据目录,剩下的交给反向代理和备份。这也是我拿它练手「轻量服务部署」的原因——依赖少、结构清楚,出问题好排查。
对我来说它不算什么大工程,就是家里一盏一直亮着的小灯。
功能
- 以时间线形式发布纯文本和图片碎片记录
- 支持标签与搜索,方便回头翻旧想法
- Docker 单容器部署,数据目录挂载到宿主机
- 通过反向代理对外提供 HTTPS 访问
- 纳入家里的统一备份与容器管理流程
技术栈
使用 / 部署教程
部署思路
Memos 是单容器服务,核心就是「一个镜像 + 一个数据目录 + 一个端口」。我用 Docker 管理容器,配置文件统一收在项目目录下。
步骤
1. 准备目录
在宿主机上建一个数据目录,用来放数据库和上传的图片,例如 ./data。这个目录是全部家当,务必纳入备份。
2. 启动容器
用 Docker 运行 Memos 镜像,把容器内 /var/opt/memos 挂载到宿主机的数据目录,并把容器端口映射到宿主机的一个本地端口。生产上不建议把容器端口直接暴露到公网。
3. 反向代理与 HTTPS
在前面放一层 Nginx 或同类反向代理,把域名转发到宿主机的映射端口,配置好证书。Memos 的很多功能依赖正确的访问地址,代理时注意保留 Host 头、关闭对大请求体的限制(图片上传)。
4. 首次登录与初始化
浏览器打开域名,第一次进入时创建管理员账号。之后在设置里按需开启「允许注册」——如果只是自己用,建议直接关闭注册。
5. 日常使用
手机浏览器可以把页面加到主屏幕,当成轻应用用;想发就发,不必整理格式。
注意事项
- 升级前先备份数据目录,镜像更新后确认容器能正常启动;
- 反向代理的超时和上传体积上限要放宽,否则传图容易失败;
- 如果要在外网访问,务必开启 HTTPS,并关闭公开注册。
以上是通用流程,具体参数以你实际镜像文档为准。
注意
- 数据目录是唯一副本,建议定期备份并做一次恢复演练。
- 公网访问时关闭公开注册,避免陌生人写入内容。
- 外网暴露必须走 HTTPS,否则登录凭据可能被窃听。