三款开源日记工具Docker部署实战:Memos、DailyTxT、Trilium对比

发布时间:2026/9/8 4:48:55
三款开源日记工具Docker部署实战:Memos、DailyTxT、Trilium对比 最近在整理自己的个人知识库时突然发现一个规律很多人坚持写日记失败不是因为懒而是因为工具太难用了。要么手机备忘录太零散要么云笔记捆绑太重要么隐私安全让人不放心。刚好我最近把三款开源日记工具都部署了一遍体验下来差别还挺明显这里整理成一篇干货合集聊聊每款工具的特点、适合谁以及怎么用 Docker 一键部署起来。这个合集覆盖了三款目前社区里讨论比较多的开源日记工具全部支持 Docker 部署数据自己掌控更新迭代也快。如果你正好想开始写日记、记录工作日志或者给团队搭一个内部备忘录这篇文章应该能帮你少走不少弯路。1. 为什么是这3款选型思路拆解1.1 选型标准不止是“能写日记”能写日记的工具一抓一大把但真正值得用 Docker 自部署的必须满足几个硬性条件开源协议清晰、社区活跃度高、Docker 镜像维护及时以及数据导出方便。这三款是我测试下来综合体验最好的分别代表了三种不同的产品思路。Memos走的是“碎片化记录”路线很像是开源版的 flomo适合随手记、灵感捕捉、碎片感想。DailyTxT走的是“加密日记”路线端到端加密连服务器管理员都看不到你的内容适合对隐私极度敏感的人。Trilium Notes走的是“知识管理日记”路线本质上是强大的层级笔记工具但内建日记功能适合把日记和笔记放在一起管理。这三款工具覆盖了「轻量记录、隐私安全、重度笔记」三个典型场景基本能满足绝大多数用户的需求。1.2 三款工具的定位速览从使用体验上我先把三款工具的核心差异整理成一个速览表方便你快速判断哪一个更符合自己的需求。工具产品定位优势亮点适合人群上手难度Memos碎片化日记/灵感速记极简界面、API 扩展、类 flomo 交互喜欢随手记、折腾自动化的人低DailyTxT加密日记AES-GCM 加密、多用户、无数据库注重隐私、不想让别人看到内容的人低Trilium Notes知识管理日记层级树、双向链接、内置日记、模板有知识管理习惯、追求长期积累的人中选择哪一款本质上取决于你想把日记工具当成“收集箱”还是“归档库”。收集型需求选 Memos 更顺手归档型需求选 Trilium 更持久而隐私型需求就非 DailyTxT 莫属了。2. 第一款Memos把日记写成碎片流2.1 Memos是什么、能解决什么问题Memos 是一款基于 React 和 Go 构建的开源日记工具GitHub 上已经很火了。它的核心设计是“短、快、随手记”界面非常干净打开就是一个输入框像发微博一样记录当下每一条记录自动打上时间戳也支持标签分类和全文检索。我觉得它最适合的场景是碎片化灵感的捕捉。比如你在通勤路上想到一个点子、开会时有一个感悟、读完一篇文章突然有想说的这些零散的念头如果不及时记下来过会儿就忘了。Memos 就能做到“打开网页 → 输入 → 回车”全程不到五秒。另外一个亮点是它自带一套 API支持通过自动化脚本、浏览器插件甚至微信机器人来添加内容。这一点对喜欢折腾的人来说简直是福音等于把日记工具变成了一个个人记录中枢。我实测下来用 iOS 的“快捷指令”调用它的 API可以实现手机桌面小组件一键记录非常方便。2.2 Docker一键部署实操Memos 的部署是我测过三款里最简单的没有数据库依赖也不需要配置环境变量一条命令就完事。官方推荐使用 Docker 部署我一般会把容器配置写到docker-compose.yml里方便后续管理和升级。services: memos: image: neosmemo/memos:stable container_name: memos ports: - 5231:5231 volumes: - ~/.memos:/var/opt/memos restart: unless-stopped保存上面的内容后在文件所在目录执行docker compose up -d看到Status: Started的提示后浏览器访问http://服务器IP:5231就能进入初始化页面。第一次打开会让你创建管理员账号这个账号就是你的最高权限后续所有数据都存在挂载出来的~/.memos目录里。如果你想临时测试用docker run也是一样的效果docker run -d --name memos -p 5231:5231 -v ~/.memos:/var/opt/memos neosmemo/memos:stable这里有一点值得注意数据目录的挂载不能省略。如果不挂载目录容器一旦被删除所有日记数据都会随之消失。我之前就犯过这个错误部署完没挂载数据卷后来清理容器时把几天测试记录全弄丢了悔不当初。2.3 使用心得颜值、API与生态部署好之后我实际用了一周简单说说体验。首先Memos 的界面确实是三款里最好看的支持暗色模式排版舒服手机浏览器打开以后体验接近原生应用。它还支持 PWA也就是说可以在手机桌面上创建一个图标点开就像原生 App 一样全屏运行不需要装任何应用商店的客户端。其次它的API 设计非常干净。在设置页面里开启 API 后你就可以通过POST /api/v1/memo这样的接口直接创建记录。我用它做了一件事写了一个简单的脚本每天定时把我的微信读书划线笔记同步到 Memos 里当作读书日记。这个功能是很多商业日记软件都不提供的开源的好处就在这里。再说一个踩坑提醒Memos 的移动端没有原生的离线编辑能力依赖网络连接。如果你经常在地铁、地下室这类信号不稳定的环境里记录建议配合手机备忘录临时记录等有网了再补充进去。它不是一款离线优先的工具这一点要有心理准备。3. 第二款DailyTxT加密日记的隐私守护3.1 为什么需要加密日记如果你写日记的内容比较私密比如个人健康记录、工作机密、情感倾诉那普通明文存储的日记工具就不太合适了。服务器上的数据只要拿到磁盘就能读出来即使你不愿意承认风险确实存在。DailyTxT 是一款专为隐私设计的开源加密日记作者在开发时就把“用户无法被窥探”作为最高优先级的特性。它在浏览器端使用 AES-GCM 算法对内容进行加密然后才会把密文传输到服务器存储。也就是说服务器上保存的只是无法阅读的密文即使管理员直接查看数据库和文件看到的也只是一堆乱码。这个原理其实不复杂我简单解释一下你在浏览器里输入日记内容。前端 JavaScript 用你设置的密码生成加密密钥。明文在浏览器本地完成加密之后才通过网络发送给服务器。服务器只负责存储密文永远接触不到明文。换句话说它是一个“零知识”架构服务端不存储你的密码也不能解密你的内容。密码一旦忘记日记就永远无法找回这是加密日记的天然属性要做好心理准备。3.2 Docker部署与初始化DailyTxT 的部署同样简单官方提供了 Docker 镜像不需要额外装数据库。我用的是下面的docker-compose.ymlservices: dailytxt: image: phieplex/dailytxt:latest container_name: dailytxt ports: - 8080:8080 volumes: - ./dailytxt-data:/app/data environment: - TZAsia/Shanghai restart: unless-stopped执行docker compose up -d后访问http://服务器IP:8080。第一次打开会让你设置管理员密码这个密码很重要务必保存好它既是登录凭证也是加密密钥的一部分。设置完成后就可以创建你的第一篇加密日记了。我测试时用的是TZAsia/Shanghai来确保时间显示正确这个看个人需要国内服务器建议加上不然默认 UTC 时间会导致日记日期差 8 个小时。3.3 数据备份、恢复与避坑因为 DailyTxT 的加密特性备份和恢复的逻辑和普通工具不太一样这里我专门展开说说。备份的要点是不仅要备份服务器数据还要妥善保管密码。服务器上挂载的./dailytxt-data目录包含了所有加密后的日记文件和用户配置你只需要定期打包这个目录即可。但只有备份文件而没有密码备份就毫无意义。密码丢失 全部日记丢失这不是危言耸听。恢复时也很简单把备份的目录覆盖回原来的位置重新启动容器即可。由于数据本身就是加密的你不用担心备份文件泄露的问题甚至可以把加密备份上传到任何云端存储安全性都有保障。避坑提示DailyTxT 默认不适合多个用户在同一台设备上共用浏览器因为加密密钥基于用户的密码生成切换账号时浏览器缓存需要清理干净否则容易出现“能登录但无法解密”的诡异现象。建议每个用户使用独立的浏览器配置文件或者设备访问。4. 第三款Trilium Notes日记与知识库二合一4.1 用知识管理工具写日记的思路Trilium Notes 是一个老牌的开源层级笔记工具功能非常强大。很多人不知道它还内置了日记模块实际上它是我见过的“写长日记”体验最好的工具之一。它在左侧维护一棵可无限展开的目录树你可以把 “日记” 作为一个顶层目录然后按年份 → 月份 → 日期建立层级结构。每一篇日记就是一个独立笔记支持 Markdown、富文本甚至可以嵌入代码块、图片、表格和思维导图。我最喜欢的点是笔记之间的双向链接。比如我今天在日记里提到“最近在读《置身事内》”就可以直接创建一条链接指向我之前写的读书笔记。半年后回看这篇日记时我能顺着链接找到当时读的书、做的笔记整个知识体系就串起来了。Trilium 的日记模块还支持模板功能你可以预设一个“日记模板”包含天气、心情、今日重点、待办事项等字段。每天新建日记时一键套用模板填写效率提高很多。4.2 Docker部署与关键配置Trilium 的 Docker 部署同样是标准操作使用官方镜像即可services: trilium: image: zadam/trilium:latest container_name: trilium ports: - 8080:8080 volumes: - ./trilium-data:/root/.local/share/trilium-data environment: - TRILIUM_DATA_DIR/root/.local/share/trilium-data restart: unless-stopped启动后访问http://服务器IP:8080第一次打开会让你设置笔记库密码。Trilium 支持整库加密开启后所有笔记内容都会加密存储。不过要提醒的是Trilium 的加密不是字段级加密也不是端到端加密开启后需要输入密码解锁笔记库浏览器端解密后明文可能会短暂留在内存中安全级别比 DailyTxT 低一些但在可接受范围内。它还有一个亮点是支持网页剪藏功能。安装浏览器扩展后看到好文章一键保存到自己的 Trilium 服务器不仅保存正文还会保留原始 URL 和截图信息。这就把“日记工具”扩展成了“个人知识库”你可以在日记里引用外部资料构建属于自己的信息资产。4.3 进阶玩法模板、标签与移动端Trilium 的可玩性很高我这里分享几个实际用下来觉得很值的功能。日记模板在设置里可以创建名为日记模板的笔记内容用 Markdown 写好后在属性面板里加上#template标签。之后新建笔记时选择“从模板创建” → 选择日记模板就会自动生成一份带结构的空白日记。密钥属性结构Trilium 每个笔记都支持自定义属性你可以给日记加上#日记类型/工作、#日记类型/生活这类标签。结合内置的搜索功能月末复盘时可以快速筛选出所有工作日记或生活日记统计起来非常方便。移动端体验Trilium 官方没有原生移动 App但可以直接通过浏览器访问服务器地址。它的响应式设计尚可在手机上浏览和简单编辑没问题但重度输入推荐还是用电脑体验更顺手。总体来说Trilium 是三款里学习成本最高的但如果你本来就有知识管理的需求它可以直接替代日记工具笔记工具两套应用长远来看很划算。5. 三款工具横向对比与选型建议5.1 功能对比一览做完三款工具的部署和实际体验后我把它们的核心维度放在同一张表里对比方便你快速做决策。对比维度MemosDailyTxTTrilium Notes部署复杂度极低低中数据加密明文存储AES-GCM 端到端加密支持笔记库级加密多用户不支持支持支持移动端体验PWA优秀浏览器一般浏览器一般API/自动化有非常灵活无有有所限制知识管理弱弱很强界面颜值高中中扩展生态浏览器插件、API少主题、脚本、插件较多数据导出支持 JSON/Markdown支持文本导出支持 HTML/Markdown/JSON 等多种格式适合场景随手记、灵感速记隐私日记、私人日志长期笔记、知识库、日记归档5.2 什么场景选哪款结合上面的对比我给出的选型建议是这样的如果你追求极简和快速记录选 Memos 绝对不会错。它的 API 生态带来了巨大的想象空间配合自动化工具能玩出很多花样。我个人目前的主力工具就是它用最低的成本养成了每天记录的习惯。如果你写的内容非常私密或者你把日记当成树洞DailyTxT 是最佳选择。加密存储带来的安全感会直接影响你愿意在日记里写多深的内容这种“能放得开”的体验是其他工具给不了的。如果你除了日记之外还有大量笔记需要整理Trilium Notes 可能是终极归宿。它提供的层级结构和双向链接能把日记和笔记融为一个系统长期积累后价值会越来越大但前提是你愿意投入时间去学习和适应它。6. Docker 部署通用技巧与避坑指南6.1 Docker 环境准备与镜像加速不管选哪款工具前提都是服务器上得有 Docker。对于大部分 Linux 服务器一条命令就能完成安装curl -fsSL https://get.docker.com | bash执行完成后运行docker --version确认安装成功。然后启动 Docker 服务并设置为开机自启sudo systemctl start docker sudo systemctl enable docker如果是国内服务器拉取 Docker Hub 镜像可能不稳定这一步大概率会遇到“镜像下载慢”的问题。解决办法是配置镜像加速器。以阿里云为例登录阿里云容器镜像服务控制台复制你专属的镜像加速地址然后修改 Docker 配置文件sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://你的专属加速地址.mirror.aliyuncs.com] } EOF sudo systemctl daemon-reload sudo systemctl restart docker配置完成后重新拉取镜像速度一般会有比较明显的提升。这一步建议大家提前做好不然等部署工具时才发现拉不下来很影响体验。6.2 数据持久化、备份与升级三款工具在数据持久化上遵循同一个原则所有用户数据都存放在挂载目录里。因此备份的核心就是打包这些目录。我自己的备份策略很简单设置一个 crontab 定时任务每天凌晨自动把数据目录打包上传到另一台对象存储服务器0 3 * * * tar -zcf /backup/memos-$(date \%Y\%m\%d).tar.gz ~/.memos升级时也有一套标准流程避免数据丢失。假设要升级 Memos我会这样操作docker compose pull docker compose up -dDocker Compose 会自动处理新旧容器的切换如果新镜像版本有问题还可以用docker compose down把容器拆掉再换回原来的镜像标签启动。这里特别提醒升级前一定要先备份数据目录不要觉得麻烦万一遇到版本不兼容导致数据损坏再后悔就来不及了。6.3 常见问题排查实录部署过程中我踩过不少坑这里整理几个高发问题供大家参考。问题一端口被占用。如果你在服务器上已经跑着其他 Web 服务5231 或 8080 端口可能被占用。解决办法很简单修改 docker-compose.yml 里的端口映射比如改成5232:5231冒号左边是宿主机端口右边是容器内部端口只改左边即可。问题二访问不到管理界面。如果部署完成后浏览器无法访问先检查容器是否在运行docker ps确认容器是Up状态后再检查服务器防火墙和安全组是否放行了对应端口。很多云服务器的安全组默认只放开 80/443/22新增端口必须手动配置规则。问题三容器重启后数据消失。这个大概率是数据卷挂载路径写错了。以 Memos 为例官方镜像的容器内数据路径是/var/opt/memos如果你挂载的是/var/opt/memos2这种拼错的路径容器在启动时找不到旧数据会新建空白目录看起来就像“数据消失了”。这个问题最坑的是它不会报错你只有打开页面发现日记全没了才意识到。问题四升级后界面异常。这种情况多发生在跨版本升级后浏览器缓存了旧的静态资源。解决方案很简单打开页面时按Ctrl Shift R强制刷新或者清除浏览器站点缓存基本都能解决。最后再分享一个小技巧三款工具的数据目录本质上都是文件我建议把这些目录放在单独的分区或者独立的磁盘路径下比如/data/memos、/data/dailytxt、/data/trilium这样即使整个 Docker 环境出问题重建时只需要把镜像重新拉起来再挂载原来的目录所有数据都能无缝衔接回来。数据这东西放得越规整找回来的时候就越省心。