Memos 轻量笔记系统部署教程
Memos 是一款开源的轻量级笔记和碎片化知识记录工具,类似于一个私人的 Twitter/微博,让你随时随地记录想法、灵感和备忘。Memos 使用 Go 语言编写,运行在 SQLite 上,资源占用极低。它支持 Markdown 格式、标签系统、图片上传和 REST API,非常适合作为个人的数字笔记本。本文将介绍如何在搬瓦工 VPS 上使用 Docker 部署 Memos。部署前请确保已安装好 Docker 和 Docker Compose。
一、系统要求
- 操作系统:任何 Linux 发行版。
- 内存:256MB 即可,Memos 的资源占用非常低。
- 磁盘:Memos 本身很小,空间需求取决于上传的图片数量。
二、Docker 快速部署
mkdir -p /opt/memos
cd /opt/memos
cat > /opt/memos/docker-compose.yml <<'EOF'
version: '3.8'
services:
memos:
image: neosmemo/memos:stable
restart: always
ports:
- "5230:5230"
volumes:
- /opt/memos/data:/var/opt/memos
EOF
docker compose up -d
就这么简单,Memos 只需要一个容器和一个数据目录即可运行。
三、配置 Nginx 反向代理
cat > /etc/nginx/sites-available/memos <<'EOF'
server {
listen 80;
server_name memo.yourdomain.com;
client_max_body_size 32M;
location / {
proxy_pass http://127.0.0.1:5230;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
EOF
ln -s /etc/nginx/sites-available/memos /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d memo.yourdomain.com
四、注册与初始化
访问 https://memo.yourdomain.com,首次访问需要注册管理员账户。第一个注册的用户自动成为管理员。注册后可以在设置中关闭公开注册功能。
五、基本使用
Memos 的使用方式非常直观,主界面是一个类似社交媒体的时间线:
- 快速记录:在顶部输入框中直接输入内容,支持 Markdown 格式。
- 标签:使用
#标签名语法自动创建和关联标签,方便分类和筛选。 - 图片附件:支持粘贴或拖拽上传图片。
- 可见性:每条 Memo 可以设置为公开、仅登录用户可见或私密。
- 置顶:重要的 Memo 可以置顶显示。
六、Markdown 支持
Memos 支持丰富的 Markdown 语法:
- 标题、粗体、斜体、删除线。
- 有序列表和无序列表。
- 代码块和行内代码(支持语法高亮)。
- 链接和图片。
- 引用块。
- 任务清单(复选框列表)。
- 数学公式。
七、标签管理
标签是 Memos 组织内容的核心方式。在 Memo 内容中使用 #标签名 即可创建标签。侧边栏会自动显示所有标签及其使用次数,点击标签可以筛选相关的 Memo。标签支持多级嵌套,使用 #父标签/子标签 的格式。
八、REST API
Memos 提供了完整的 REST API,可以通过编程方式创建和管理笔记。在设置中生成 Access Token 后即可使用 API:
# 创建新 Memo
curl -X POST https://memo.yourdomain.com/api/v1/memos \
-H "Authorization: Bearer your_access_token" \
-H "Content-Type: application/json" \
-d '{
"content": "这是通过 API 创建的笔记 #API",
"visibility": "PRIVATE"
}'
# 获取 Memo 列表
curl https://memo.yourdomain.com/api/v1/memos \
-H "Authorization: Bearer your_access_token"
利用 API,你可以将 Memos 与其他工具集成,例如通过 n8n 自动将特定内容保存到 Memos。
九、第三方客户端
除了 Web 界面,社区还开发了多种第三方客户端:
- iOS 客户端:Moe Memos 等第三方 APP。
- Android 客户端:社区开发的 Android 应用。
- 浏览器扩展:快速保存网页内容到 Memos。
- Telegram Bot:通过 Telegram 机器人记录笔记。
十、数据备份
Memos 使用 SQLite 数据库,所有数据存储在 /opt/memos/data 目录中:
# 备份整个数据目录
tar -czf /opt/memos/backup_$(date +%Y%m%d).tar.gz /opt/memos/data/
# 设置自动备份
cat > /opt/memos/backup.sh <<'EOF'
#!/bin/bash
BACKUP_DIR="/opt/memos/backups"
mkdir -p $BACKUP_DIR
DATE=$(date +%Y%m%d_%H%M%S)
tar -czf $BACKUP_DIR/memos_$DATE.tar.gz /opt/memos/data/
find $BACKUP_DIR -name "*.tar.gz" -mtime +14 -delete
EOF
chmod +x /opt/memos/backup.sh
echo "0 3 * * * /opt/memos/backup.sh" | crontab -
十一、升级 Memos
cd /opt/memos
docker compose pull
docker compose up -d
十二、常见问题
图片上传失败
检查数据目录权限和 Nginx 的 client_max_body_size 设置。
如何迁移数据
只需将 /opt/memos/data 目录完整复制到新服务器即可,Memos 的数据完全自包含。
总结
Memos 是一款极其轻量的自托管笔记工具,部署仅需一行 Docker 命令,资源占用几乎可以忽略。它非常适合记录碎片化的想法、备忘和技术笔记。在搬瓦工最低配方案上也能毫无压力地运行。更多笔记和知识管理工具请参考:Outline Wiki 部署、BookStack 部署、Linkwarden 书签管理。选购搬瓦工 VPS 请参考全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。