Memos :开源、自托管的备忘录平台
-
Memos :开源、自托管的备忘录平台
目录- 一、什么是 Memos
- 🌟 核心理念
- 二、主要特点与功能
- 2.1 🔐 隐私至上:真正的数据自主
- 2.2 ⚡ 轻量高效:专注于速度
- 2.3 📝 强大的 Markdown 支持
- 2.4 🆓 开源免费:MIT 协议
- 2.5 🌐 跨平台支持
- 三、安装与部署详解
- 3.1 环境准备
- 3.2 Docker 快速部署(推荐)
- 3.3 数据库配置(进阶)
- 3.4 首次使用配置
- 四、标签系统与智能捷径
- 4.1 标签(Tags)
- 4.2 智能捷径(Shortcuts)——2025 新功能
- 五、API 与第三方集成
- 5.1 API 优先设计
- 5.2 Webhook 事件通知
- 5.3 Telegram Bot 官方集成
- 六、移动端与多端同步
- 6.1 PWA 渐进式 Web 应用
- 6.2 多端数据同步
- 七、Memos 与其他工具对比
- 八、进阶技巧与最佳实践
- 8.1 备份策略
- 8.2 性能优化建议
- 8.3 安全加固
- 九、学习资源
- 十、小结
"Your thoughts, your data, your control — no tracking, no ads, no subscription fees." 你的想法,你的数据,你的掌控——无追踪、无广告、无订阅费用。
一、什么是 Memos
Memos 是一个开源、自托管的备忘录与知识管理平台,旨在提供一个简洁、高效的笔记服务。它基于 Golang(后端)和 React/TypeScript(前端) 开发,支持 Markdown 语法,允许用户轻松捕捉和分享自己的想法。
你可以将 Memos 理解为一个"没有字数限制的自建 Twitter"——它采用类似社交媒体的时间线界面,让碎片化记录变得轻松自然,同时又具备强大的标签管理和搜索功能。
🌟 核心理念
理念 说明 🔒 数据主权 所有数据存储在你自己的服务器上,完全由你掌控 ⚡ 即时捕捉 打开即写,一键记录,不打断思维流 🎯 专注本质 拒绝功能膨胀,只做笔记和备忘录的核心功能 🆓 永久免费 MIT 协议开源,无付费墙、无高级版、无隐藏费用 截至 2026 年初,Memos 项目在 GitHub 上已获得超过 45,000 颗星标,拥有 340+ 贡献者的活跃社区,是自托管笔记领域最受欢迎的项目之一。
二、主要特点与功能
2.1 🔐 隐私至上:真正的数据自主
Memos 将用户隐私置于首位,这是它与 Notion、Evernote 等云端服务的根本区别:
- 零遥测:不收集任何用户数据,无追踪代码、无分析脚本
- 零外部依赖:完全自包含,无需连接任何外部云服务即可运行
- 本地化存储:所有数据存储在你选择的数据库中(SQLite/MySQL/PostgreSQL)
- EXIF 元数据剥离:上传图片时自动移除 EXIF 元数据(位置信息、相机信息等),保护隐私安全
💡 使用场景:如果你是律师、医生、研究人员或任何需要处理敏感信息的专业人士,Memos 的自托管特性可以帮助你满足数据合规要求。
2.2 ⚡ 轻量高效:专注于速度
- 本地优先架构(Local-first):即使管理数千条笔记也能实现零延迟响应
- Go 语言后端:极低的资源占用,即使在树莓派上也能流畅运行
- 即时保存:输入时自动保存,永不丢失任何一条备忘录
- 快速创建:主页顶部直接显示输入框,无需点击即可开始记录
2.3 📝 强大的 Markdown 支持
Memos 提供完整的 Markdown 编辑体验:
功能 说明 基础语法 标题、粗体、斜体、列表、引用、代码块 语法高亮 支持多种编程语言的代码高亮显示 表格支持 创建和编辑 Markdown 表格 LaTeX 数学公式 支持行内和块级数学表达式渲染 链接与图片 插入超链接和图片资源 HDR 媒体支持 支持 HDR(高动态范围)图片和视频的上传与播放 流式传输 视频/音频文件采用流式加载,解决大文件内存问题 2.4 🆓 开源免费:MIT 协议
- 完全开源:所有代码托管在 GitHub
- MIT 许可证:可自由使用、修改、分发,包括商业用途
- 社区驱动:功能开发由社区投票和贡献者共同推进
- 无付费层级:所有功能完全免费,没有"Pro 版"或"企业版"
2.5 🌐 跨平台支持
平台 支持方式 🖥️ Web 浏览器 任何现代浏览器访问 🍎 macOS Docker 部署 / 原生二进制 🐧 Linux Docker / Docker Compose / 二进制 🪟 Windows Docker Desktop / WSL2 📱 移动端 PWA(渐进式 Web 应用)可安装到主屏幕,支持离线使用 ☁️ 云平台 支持 Railway、Kubernetes 等一键部署 三、安装与部署详解
3.1 环境准备
最低要求:
- 1 核 CPU / 512MB 内存(SQLite 模式)
- Docker 20.10+ 或 Docker Compose v2+
- 支持的数据库:SQLite(默认)、MySQL 5.7+ / 8.0+、PostgreSQL 12+
3.2 Docker 快速部署(推荐)
方式一:使用
docker run命令docker run -d \ --init \ --name memos \ --publish 5230:5230 \ --volume ~/.memos/:/var/opt/memos \ -e TZ=Asia/Shanghai \ ghcr.io/usememos/memos:latest参数说明:
参数 说明 -d后台运行容器 --init添加 init 进程,正确处理信号 --name memos容器名称 --publish 5230:5230端口映射(主机端口:容器端口) --volume ~/.memos/:/var/opt/memos数据持久化目录(必须配置!) -e TZ=Asia/Shanghai设置时区为中国标准时间 方式二:使用 Docker Compose(生产环境推荐)
创建
docker-compose.yml文件:services: memos: image: ghcr.io/usememos/memos:latest container_name: memos restart: unless-stopped ports: - "5230:5230" volumes: - ./data:/var/opt/memos environment: - TZ=Asia/Shanghai启动服务:
docker-compose up -d3.3 数据库配置(进阶)
默认情况下,Memos 使用 SQLite 数据库,所有数据打包在单个
.db文件中,备份只需复制该文件即可。如需使用 MySQL 或 PostgreSQL,需配置环境变量:
# MySQL 配置示例 environment: - MEMOS_DRIVER=mysql - MEMOS_DSN=user:password@tcp(host:3306)/memos?charset=utf8mb4 # PostgreSQL 配置示例 environment: - MEMOS_DRIVER=postgres - MEMOS_DSN=postgresql://user:password@host:5432/memos?sslmode=disable从 SQLite 迁移到 MySQL:
/usr/local/bin/memos \ --driver mysql \ --dsn 'dbuser:dbpass@tcp(dbhost)/dbname' \ copydb --from sqlite://path_to_your_memos_prod.db3.4 首次使用配置
- 访问服务:浏览器打开
http://服务器IP:5230 - 注册账户:首个注册用户自动成为管理员(ADMIN)
- 设置语言:进入
设置 → 偏好设置 → 语言选择中文界面 - 配置外观:可选择亮色/暗色主题
⚠️ 安全提示:生产环境建议配置 Nginx/Caddy 反向代理 + HTTPS 证书
四、标签系统与智能捷径
4.1 标签(Tags)
Memos 采用内联标签设计,在笔记内容中直接使用
#标签名即可创建标签:今天学习了 Docker 部署 #技术笔记 #Docker 需要准备明天的会议材料 #工作 #待办标签特性:
- ✅ 自动识别并高亮显示
- ✅ 点击标签可筛选相关备忘录
- ✅ 侧边栏标签云可视化展示
- ✅ 支持嵌套标签(如
#工作/项目A)
4.2 智能捷径(Shortcuts)——2025 新功能
捷径功能允许你创建可复用的高级筛选器,快速访问符合特定条件的备忘录集合。
支持的筛选条件:
类型 运算符 示例 标签筛选 包含、不包含 标签包含 #工作可见性 等于 可见性 = 公开 时间戳 大于、小于、区间 创建于最近 7 天 逻辑运算 AND、OR、NOT 标签含 #工作AND 创建于本周使用场景示例:
- 📋 "本周待办":筛选本周创建的含
#待办标签的备忘录 - 📚 "学习笔记":筛选所有含
#学习或#读书标签的内容 - 🔒 "私密日记":筛选可见性为"私密"的备忘录
五、API 与第三方集成
5.1 API 优先设计
Memos 采用 API 优先(API-First)架构,提供完整的 RESTful 和 gRPC 接口:
# 获取备忘录列表示例 curl -X GET "https://your-memos-domain/api/v1/memos" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"API 能力:
- 📝 创建、读取、更新、删除备忘录(CRUD)
- 🏷️ 标签管理
- 📎 资源文件上传与管理
- 👤 用户信息获取
- 🔍 高级搜索
5.2 Webhook 事件通知
Memos 支持 Webhook 推送,实现与外部系统的实时集成:
支持的事件类型:
memo.created— 新备忘录创建memo.updated— 备忘录更新memo.deleted— 备忘录删除
集成平台示例:
平台类型 示例 即时通讯 Slack、Discord、Microsoft Teams 自动化工具 Zapier、IFTTT、n8n、Make 项目管理 GitHub、GitLab、Jira 5.3 Telegram Bot 官方集成
Memogram 是 Memos 官方维护的 Telegram 集成服务,可将 Telegram 消息同步到 Memos:
功能特性:
- 📨 发送文本消息自动保存为备忘录
- 🖼️ 发送图片/文件自动保存为资源附件
- 🔐 支持用户名白名单限制访问
配置示例(Docker Compose):
services: memogram: image: ghcr.io/usememos/telegram-integration:latest environment: - SERVER_ADDR=memos:5230 - BOT_TOKEN=your_telegram_bot_token - ALLOWED_USERNAMES=your_username六、移动端与多端同步
6.1 PWA 渐进式 Web 应用
Memos 支持 PWA 技术,可将网页安装为"类原生应用":
安装方法:
- iOS(Safari):点击分享按钮 → "添加到主屏幕"
- Android(Chrome):点击菜单 → "安装应用"
- 桌面(Chrome/Edge):地址栏右侧安装图标
PWA 特性:
- ✅ 主屏幕图标快速启动
- ✅ 全屏沉浸式体验
- ✅ 支持离线访问已缓存内容
6.2 多端数据同步
由于 Memos 是 Web 服务,天然具备多端同步能力:
手机 ←→ Memos 服务器 ←→ 电脑 ←→ 平板 ↑ 统一数据源优势:无需配置同步服务,数据实时一致。
七、Memos 与其他工具对比
特性 Memos Obsidian Notion 自托管 ✅ 完全支持 ❌ 仅本地文件 ❌ 云端托管 开源 ✅ MIT 协议 ❌ 闭源 ❌ 闭源 数据格式 SQLite + Markdown 纯 Markdown 文件 专有数据库 离线访问 ✅ 通过 PWA ✅ 原生支持 ⚠️ 有限支持 协作功能 ⚠️ 基础支持 💰 付费插件 ✅ 强大 学习曲线 🟢 简单 🟡 中等 🟡 中等 资源占用 🟢 极低 🟡 中等 — 适用场景 碎片化记录、日记、闪念 知识管理、双链笔记 团队协作、项目管理 选择建议:
💡 "Notion 是我工作的地方,Obsidian 是我思考的地方,Memos 是我随手记录的地方。" — 来自 Medium 用户评论
- 选 Memos:如果你需要快速记录碎片想法、重视隐私、想要自托管
- 选 Obsidian:如果你需要构建个人知识图谱、喜欢双向链接
- 选 Notion:如果你需要强大的团队协作和项目管理功能
八、进阶技巧与最佳实践
8.1 备份策略
SQLite 模式(最简单):
# 定时备份脚本 cp ~/.memos/memos_prod.db ~/backups/memos_$(date +%Y%m%d).dbDocker 数据卷备份:
docker run --rm \ -v memos_data:/data \ -v $(pwd):/backup \ alpine tar cvf /backup/memos_backup.tar /data8.2 性能优化建议
场景 建议 备忘录数量 < 5000 SQLite 足够 备忘录数量 > 10000 考虑迁移到 PostgreSQL 多用户高并发 使用 PostgreSQL + 连接池 外网访问 配置 CDN 加速静态资源 8.3 安全加固
- ✅ 配置 HTTPS(推荐使用 Caddy 自动证书)
- ✅ 使用强密码并定期更换
- ✅ 配置防火墙,仅开放必要端口
- ✅ 定期更新到最新版本
- ✅ 限制注册(可在管理后台关闭公开注册)
九、学习资源
资源 链接 🏠 官方网站 usememos.com 📖 官方文档 usememos.com/docs 💻 GitHub 仓库 github.com/usememos/memos 🐳 Docker 镜像 ghcr.io/usememos/memos 📣 Telegram 集成 github.com/usememos/telegram-integration 💬 社区讨论 GitHub Discussions 十、小结
Memos 是一个功能强大且易于使用的开源备忘录工具,特别适合以下用户:
- 🔒 重视隐私,希望数据完全自主掌控
- ⚡ 追求效率,需要快速捕捉碎片化想法
- 🛠️ 技术爱好者,喜欢自托管开源软件
- 💰 预算有限,不想为笔记软件付费订阅
- 🔧 需要定制,希望通过 API 扩展功能
通过开源和免费的特性,用户可以根据自己的需求进行定制和扩展。无论是个人知识管理、团队协作还是构建公开的微博客,Memos 都能提供简洁而强大的解决方案。
歡迎留言回复交流。
Log in to reply.