公司动态

一条命令搭一套自己的自托管笔记系统

📅 2026/8/30 9:47:01
一条命令搭一套自己的自托管笔记系统
一条命令搭一套自己的自托管笔记系统【免费下载链接】memosOpen-source, self-hosted note-taking tool built for quick capture. Markdown-native, lightweight, and fully yours.项目地址: https://gitcode.com/GitHub_Trending/me/memos上周三开会一个思路冒出来我随手记进了那个半年没打开过的笔记 App——几天后再想找连自己写过什么都不记得了。问题不在 App 本身而在于笔记躺在别人的云上沉底了也捞不回来。于是我把一个自托管笔记系统 Memos 部署了起来数据在自己手里打开页面就能写。一条命令跑起来如果你装了 Docker最短路径就这一条docker run -d --name memos -p 5230:5230 -v ~/.memos:/var/opt/memos neosmemo/memos:stable翻译一下起一个后台容器把本机 5230 端口映射进去再把数据目录持久化到~/.memos。然后浏览器打开http://localhost:5230注册账号就能写。30 秒以内能看见第一条笔记算我没吹牛。不想装 Docker 的话源码部署也很直接git clone https://gitcode.com/GitHub_Trending/me/memos cd memos go mod download go build -o memos ./cmd/memos ./memos --port 5230编译出的是一个单二进制文件没有依赖 Node、没有依赖 Java扔到任何一台有 Go 环境的机器上都能构建。数据的一生笔记存在哪、怎么备份写下第一条笔记时链路是这样的浏览器把 Markdown 发给 Go 后端后端写入数据库附件落在磁盘上。默认数据库驱动是 SQLite也就是说整个数据库就是一个文件放在数据目录里也就是宿主机上~/.memos对应的位置。这带来一个很朴素的备份方案备份定期把~/.memos目录拷走不需要导出脚本、不需要停机恢复文件放回去容器重启笔记原样回来。数据搬家也一样粗暴。换机器时把目录拷过去新机器上跑同样的 Docker 命令指同一个目录完事。个人用 SQLite 就够了但多人使用时可以换成 MySQL 或 PostgreSQL。启动时多带两个参数--driver和--dsn数据库连接串迁移脚本会自动执行不用手工建表。三种库怎么选数据库适用场景特点SQLite个人使用零配置整库单文件备份就是拷文件MySQL已有 MySQL 的环境复用现有基础设施配置稍多PostgreSQL小团队协作对复杂过滤查询的支持最好进阶玩法标签和过滤比想象中严谨标签是一等语法不是编辑器装饰。在正文里写#work/notes系统会自动识别出work、work/notes、work/notes/history这一整条层级链侧边栏的标签计数和过滤都基于它。这里有个反直觉的点Memos 没有独立的标签表标签是从笔记 Markdown 里派生出来的精确匹配、大小写敏感。所以想把#Work改名成#work得逐条笔记去改正文——官方对这套规则写得很细见 标签语法设计文档。过滤框不只收关键词。顶部的过滤器接受表达式比如visibility PUBLIC has_task_list或者按时间范围筛最近七天的笔记。底层是把表达式编译成 SQL 的三阶段管线语法细节可以看 过滤引擎说明。日常用法记住两点就够关键词直接输带引号的标签名可以精确命中。其余功能一笔带过附件支持本地磁盘或 S3 两种存储图片、PDF、音频都能挂另有官方浏览器扩展可以把网页存成笔记。踩坑记录现象 → 原因 → 一条修复命令现象5230 端口被占用容器起不来。原因宿主机 5230 已被别的进程监听。 修复把映射写成-p 5231:5230只改冒号左边的宿主端口访问地址跟着换成 5231。现象页面能打开但保存笔记报权限错误。原因容器内跑的是非 root 用户UID 1000宿主机映射目录的属主对不上。 修复chown -R 1000:1000 ~/.memos现象用编译的二进制启动后访问 5230 打不开。原因原生二进制的默认端口是 8081和 Docker 镜像默认的 5230 不是一回事。 修复./memos --port 5230显式指定或直接访问 8081。下一步今晚把那条 Docker 命令跑一遍注册一个账号明天出门前用手机浏览器打开它随手记一条#待办。如果两天后你发现自己真的会翻它再把备份目录挂上定时任务如果发现用不上删掉容器损失的只是一个目录。【免费下载链接】memosOpen-source, self-hosted note-taking tool built for quick capture. Markdown-native, lightweight, and fully yours.项目地址: https://gitcode.com/GitHub_Trending/me/memos创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考