怕笔记放 Notion、飞书、语雀,数据不在自己手里?Memos 是一款开源、可自托管的轻量笔记服务——镜像约 20MB,默认 SQLite,一条 docker run 就能跑。打开浏览器写 Markdown、打 #标签、按时间线翻旧笔记,手机电脑同步访问,数据全在你自己的服务器上。
不用装 App,一条 docker run 启动,打开浏览器就能记灵感。本文带你完成 Memos 一条命令 Docker 部署:从轩辕镜像拉取、docker run 一键启动、读懂启动日志,到浏览器注册管理员、切换中文界面、写下第一条 memo——全程零基础可跟做。
一、Memos 是什么?
Memos 是一款 开源、自托管的轻量笔记服务,主打「打开就写、数据在自己手里」。核心能力:
| 能力 | 说明 |
|---|---|
| 快速记录 | 时间线 UI,打开即写,无需文件夹层级 |
| 数据自主 | 自托管部署,笔记以 Markdown 存储,零遥测 |
| 极轻量 | 单 Go 二进制,Docker 镜像约 20MB;默认 SQLite,无需 MySQL / Redis |
| 可扩展 | MIT 许可,提供 REST 与 gRPC API,便于二次集成 |
典型使用场景:个人 灵感库、碎片待办、读书摘抄;小团队 轻量知识库;替代部分 Notion / 飞书文档的「随手记」场景,强调 隐私与简单。
与云笔记的区别:Memos 没有复杂协作与模板市场,胜在 部署简单、资源占用极低、数据完全可控。
二、环境要求
| 项目 | 建议 |
|---|---|
| 操作系统 | Linux(本文 Ubuntu 24.04) |
| Docker | 已安装 Docker 与 Docker Compose V2 |
| 内存 | ≥ 512 MB(空闲约 50~80 MB) |
| CPU | 单核即可;双核更从容 |
| 磁盘 | ≥ 1 GB(镜像 + SQLite + 附件) |
| 端口 | 5230(Memos 默认 Web 端口) |
验证 Docker:
docker --version
docker compose version
若尚未安装 Docker,可使用一键安装脚本:
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)
三、拉取镜像并一键启动
3.1 创建数据目录
sudo mkdir -p /www/wwwroot/memos/data
sudo chown -R $USER:$USER /www/wwwroot/memos
cd /www/wwwroot/memos
3.2 拉取镜像
docker pull docker.xuanyuan.run/neosmemo/memos:stable
| 官方镜像 | 轩辕镜像加速拉取 |
|---|---|
neosmemo/memos:stable |
docker pull docker.xuanyuan.run/neosmemo/memos:stable |
3.3 启动 Memos
docker run -d \
--name memos \
--restart unless-stopped \
-p 5230:5230 \
-v /www/wwwroot/memos/data:/var/opt/memos \
docker.xuanyuan.run/neosmemo/memos:stable
各参数说明:
| 配置 | 说明 |
|---|---|
-p 5230:5230 |
对外暴露 Web 访问端口 |
-v ...:/var/opt/memos |
持久化 SQLite 数据库与本地附件 |
stable |
生产推荐标签(实测对应 0.29.1) |
--restart unless-stopped |
宿主机重启后自动拉起 |
3.4 验证启动
docker logs -f memos
成功时终端类似输出(Ubuntu 24.04 实测):
Memos 0.29.1 started successfully!
Data directory: /var/opt/memos
Database driver: sqlite
Server running on port 5230
Access your memos at: http://localhost:5230
Happy note-taking!
看到 Memos 0.29.1 started successfully! 与 Server running on port 5230 即表示启动成功。
curl -I http://127.0.0.1:5230
docker ps | grep memos
应返回 HTTP 200 或 302(重定向到登录/注册页)。
日志提示:首次打开浏览器时可能出现
refresh token not found的client error,属于 未登录时的正常请求,不影响使用。
四、浏览器首次使用
4.1 创建管理员账户
浏览器打开(将 IP 换成你的服务器地址):
http://你的服务器IP:5230
首次访问会进入 创建账户 页面。第一个注册的用户自动成为站点管理员(Memos 无固定默认账号密码)。

图 1:首个注册用户即为站点管理员
安全提示:若对公网开放 5230,请尽快完成注册,避免他人抢先注册成为管理员。
4.2 登录后主界面
注册成功后会进入 Memos 主界面:左侧为日历、标签与导航;中间上方为 「Any thoughts...」 输入框,下方为时间线 feed。

图 2:主界面,暂无 memo 时显示「No data found.」属正常
4.3 切换简体中文
点击左下角 用户头像 → Language → 选择 简体中文。

图 3:切换后搜索框变为「搜索备忘录...」,输入框提示「此刻的想法...」
4.4 写第一条 memo
在输入框中写下内容,例如「记录我此时此刻的想法。」,点击 保存。memo 会按时间线展示在下方,支持 私有 / 公开 可见性切换。

图 4:第一条 memo 已保存,按时间线展示
日常用法速记:
- 正文中写
#工作、#灵感会自动生成 标签,点标签可筛选 - 顶部 搜索框 按关键词检索标题与正文
- 手机浏览器访问同一地址即可 跨设备同步(数据在自建服务器上)
4.5 附件与捷径(可选)
输入框左侧 「+」 可插入图片、视频、录音、文件、链接备忘录与地理位置等。

图 5:「+」菜单支持多媒体与附件
Memos 还支持 捷径(Shortcut) 表达式筛选,例如 pinned(置顶)、tag in ["work"](指定标签):

图 6:创建捷径,快速筛选 pinned、标签或时间范围
五、生产环境简要说明
个人试用用第三节 单容器 docker run 即可。长期运行建议改用 Docker Compose,并配合 Nginx / Caddy 反向代理 HTTPS、定期备份 ./data 目录(含 memos_prod.db 与附件)。
Compose 最小示例:
services:
memos:
image: docker.xuanyuan.run/neosmemo/memos:stable
container_name: memos
restart: unless-stopped
ports:
- "5230:5230"
volumes:
- ./data:/var/opt/memos
environment:
MEMOS_PORT: 5230
MEMOS_DRIVER: sqlite
# MEMOS_INSTANCE_URL: https://memos.example.com
cd /www/wwwroot/memos
docker compose up -d
用户量较大时可改用 PostgreSQL 后端;镜像标签 stable 为生产推荐(实测 0.29.1),不建议生产使用 latest。
六、常见问题 FAQ
Q1:5230 端口被占用怎么办?
将 -p 5230:5230 改为 -p 8080:5230,浏览器访问 http://服务器IP:8080 即可。
Q2:数据存在哪里?
宿主机 /www/wwwroot/memos/data(容器内 /var/opt/memos),含 SQLite 数据库与附件。删除该目录会丢失全部笔记。
Q3:如何升级 Memos?
docker pull docker.xuanyuan.run/neosmemo/memos:stable
docker stop memos && docker rm memos
# 再执行第三节 docker run(data 卷不变)
Q4:日志里 refresh token not found 正常吗?
正常。未登录时浏览器尝试刷新 token 的常规请求,注册登录后一般不再出现。
Q5:忘记密码怎么办?
Memos 无内置「忘记密码邮件」默认流程,需参考官方文档或通过数据库重置。生产环境建议使用强密码。
Q6:容器启动后浏览器无法访问?
依次检查:docker ps 容器是否为 Up;docker logs memos 是否报错;本机 curl -I http://127.0.0.1:5230 是否通;云服务器 安全组 / 防火墙 是否放行 5230。
七、命令速查
| 操作 | 命令 |
|---|---|
| 拉取镜像 | docker pull docker.xuanyuan.run/neosmemo/memos:stable |
| 快速启动 | docker run -d --name memos --restart unless-stopped -p 5230:5230 -v /www/wwwroot/memos/data:/var/opt/memos docker.xuanyuan.run/neosmemo/memos:stable |
| 查看日志 | docker logs -f memos |
| 健康检查 | curl -I http://127.0.0.1:5230 |
| Web 访问 | http://服务器IP:5230 |
| 停止服务 | docker stop memos && docker rm memos |
总结
Memos = 私有化轻量 Markdown 笔记,镜像 20MB、一条命令就能跑:
- 使用轩辕镜像加速拉取
neosmemo/memos:stable - 一条
docker run映射 5230 并持久化 data 目录 - 浏览器注册管理员 → 切换中文 → 写 memo
- 长期运行可改用 Compose,配合备份与反向代理 HTTPS
延伸阅读(复制打开):
Memos 官方文档:
https://usememos.com/docs
Docker 部署说明:
https://usememos.com/docs/deploy/docker
反向代理 / HTTPS:
https://usememos.com/docs/deploy/reverse-proxy
在线 Demo:
https://demo.usememos.com/
neosmemo/memos 轩辕镜像页:
https://xuanyuan.cloud/zh/r/neosmemo/memos
轩辕镜像首页:
https://xuanyuan.cloud
如果你在拉取 Docker 镜像时遇到速度慢、超时等问题,可以试试轩辕镜像的加速服务。欢迎收藏 neosmemo/memos 镜像页,获取最新标签与更新说明:
https://xuanyuan.cloud/zh/r/neosmemo/memos
Compose 完整配置、PostgreSQL 后端、环境变量速查与更多 FAQ,详细步骤请查看:
https://xuanyuan.cloud/blog/docker-memos
本文基于 neosmemo/memos:stable 镜像(实测版本 0.29.1),Ubuntu 24.04 服务器实测