Docker 部署 Trilium Notes 完整教程:自建大型知识库

本文基于 triliumnext/trilium:main 镜像,Ubuntu 24.04 服务器实测(访问端口 8080

Notion、语雀、Obsidian 各用各的,数据格式不互通?Trilium Notes(TriliumNext 社区版)是一款 免费开源、可自托管的层级笔记应用——支持深度笔记树、富文本 / Markdown / 代码笔记、全文搜索、笔记地图、思维导图、加密保护、多设备同步,官方宣称可支撑 10 万+ 笔记 规模的知识库。更关键的是:单容器即可运行,无需 MariaDB / Redis,一条 docker run 就能上线

本文带你完成一次 TriliumNext Docker 部署:从轩辕镜像拉取、创建数据目录、docker run 一键启动,到浏览器跟做 首次初始化向导(语言 → 新建知识库 → 设置密码 → 登录),再浏览日记、搜索、笔记地图、保护会话,以及外观 / AI / 同步 / 代码笔记等设置——全程 Ubuntu 24.04 实测,附 17 张截图

国内用户从 Docker Hub 拉取 triliumnext/trilium 可能较慢,本文使用 轩辕镜像 加速域 docker.xuanyuan.run。官方 Docker 文档见 Using Docker,项目文档 TriliumNext Docs,源码 TriliumNext/Trilium

部署要点:TriliumNext 容器内数据目录为 /home/node/trilium-data(非旧版 zadam/trilium/data)。轩辕镜像页部分示例仍写 /data请以本文与官方文档为准

一、Trilium Notes 是什么?

Trilium Notes(现由 TriliumNext 社区维护)是一款 免费开源、跨平台的层级笔记应用,专为构建和管理 大型个人知识库 设计。它是原 zadam/trilium 项目的社区延续版,Docker 镜像为 triliumnext/trilium

能力说明
层级笔记树任意深度树状结构;单条笔记可通过 克隆 出现在多个位置
富文本 / MarkdownWYSIWYG 编辑器,支持表格、图片、LaTeX 公式、Markdown
代码笔记多语言语法高亮,可选 Vim 快捷键
全文搜索快速导航、书签、笔记提升(Hoisting)
笔记地图可视化展示笔记间链接关系(知识图谱)
日记(Journal)按年 / 月 / 日自动组织,适合每日记录
版本控制笔记修订历史,可查看与恢复
加密保护笔记级加密 + 保护会话,敏感内容需二次密码
多设备同步自托管服务器 + 桌面 / 移动客户端同步
AI / MCP可配置 LLM 提供商;支持 MCP 端点供 AI 助手读写笔记
思维导图 / 画布Mind Elixir 思维导图、Excalidraw 画布笔记
数据导入导出Evernote、Markdown 等格式

典型使用场景:

  • 个人 大型知识库、学习笔记、读书摘抄
  • 学术研究:文献笔记、实验记录、数学公式与代码片段
  • 项目文档:任务、进度、Wiki 式组织
  • 敏感信息:加密笔记 + 保护会话,数据完全在自有服务器

与 Memos 的区别:Memos 偏轻量时间线随手记;Trilium 偏 深度层级组织 + 知识图谱 + 脚本自动化,适合笔记量大、结构复杂的用户。若只需极简 Markdown 时间线,可参考 Memos 部署教程

架构示意:

浏览器 ──HTTP:8080──▶ Trilium 容器(单进程 + 内置 SQLite)
Trilium 容器 ──挂载卷──▶ 宿主机 trilium-data/(笔记数据库与附件)
桌面 / 移动客户端 ──同步协议──▶ 同一 Trilium 服务器

二、环境要求

项目建议
操作系统Linux(本文 Ubuntu 24.04)
Docker已安装 Docker 与 Docker Compose V2
内存≥ 1 GB(推荐 2 GB;大型知识库建议 4 GB)
CPU双核即可
磁盘≥ 2 GB(镜像 + 笔记数据与附件;知识库越大占用越多)
端口8080(Trilium 默认 Web 端口)
工作目录/www/wwwroot/trilium(独立目录,勿与其他项目混用)

验证 Docker:

docker --version
docker compose version

若尚未安装 Docker,可使用轩辕镜像一键脚本:

bash <(wget -qO- https://xuanyuan.cloud/docker.sh)

更多安装说明见 轩辕镜像使用手册

镜像标签对照

标签适用场景
main本文实测标签,跟随主分支构建,适合试用
v0.91.6 等版本号生产推荐,固定版本便于备份与回滚
latest可能自动升级,不建议生产(尤其有同步客户端时)

三、拉取镜像

docker pull docker.xuanyuan.run/triliumnext/trilium:main

成功时终端类似输出(Ubuntu 24.04 实测):

main: Pulling from triliumnext/trilium
55afa1ecc21d: Pull complete
6da5779e8eeb: Pull complete
7e2a5e2761f5: Pull complete
57eb903fc7a4: Pull complete
21af007bacf6: Pull complete
4f4fb700ef54: Pull complete
7f3b05c3b155: Pull complete
5df865968c63: Pull complete
3c672d20d5ad: Pull complete
773091eb7616: Pull complete
8fb5fe3424c8: Pull complete
328fa99b08e5: Download complete
Digest: sha256:86f8cd62cc6c864a734b364dc1a1c5357609c2f9e25a7e59367afb2f15708f99
Status: Downloaded newer image for docker.xuanyuan.run/triliumnext/trilium:main
docker.xuanyuan.run/triliumnext/trilium:main
官方镜像轩辕镜像加速拉取
triliumnext/trilium:maindocker pull docker.xuanyuan.run/triliumnext/trilium:main
triliumnext/trilium:v0.91.6docker pull docker.xuanyuan.run/triliumnext/trilium:v0.91.6

四、快速体验:单容器部署

适合:个人试用、内网知识库、资源有限的 VPS。

4.1 创建数据目录

Trilium 必须将宿主机目录挂载到容器内 /home/node/trilium-data,否则重启后数据丢失。官方容器默认以 UID 1000 写数据:

sudo mkdir -p /www/wwwroot/trilium/trilium-data
sudo chown -R 1000:1000 /www/wwwroot/trilium/trilium-data
cd /www/wwwroot/trilium

权限踩坑:若日志出现 EACCESpermission denied,执行 sudo chown -R 1000:1000 /www/wwwroot/trilium/trilium-data 后重启容器。也可通过环境变量 USER_UID / USER_GID 指定运行用户(见第六节 FAQ)。

4.2 启动容器

镜像已拉取可跳过第三节,直接运行(Ubuntu 24.04 实测命令):

docker run -d \
  --name trilium \
  --restart unless-stopped \
  -p 8080:8080 \
  -v /www/wwwroot/trilium/trilium-data:/home/node/trilium-data \
  -e TZ=Asia/Shanghai \
  docker.xuanyuan.run/triliumnext/trilium:main

成功时返回容器 ID,例如:

c9d7c5cb8cb25d73b6686c1a275b3cb20e0e01a82c245fb63f8c8904571a9fcd

各参数说明:

配置说明
-p 8080:8080对外暴露 Web 访问端口
-v ...:/home/node/trilium-data必须挂载,持久化笔记数据库与附件
-e TZ=Asia/Shanghai时区(非 Compose 场景官方建议手动设置)
main本文实测标签;生产建议固定版本号
--restart unless-stopped宿主机重启后自动拉起

仅本机访问(配合 Nginx 反代时更安全):

-p 127.0.0.1:8080:8080

8080 已被占用时改主机端口,例如 -p 8081:8080,浏览器访问 :8081

4.3 验证启动

docker ps
docker logs -f trilium

docker ps 中容器状态为 Up 即表示运行中。快速探测:

curl -I http://127.0.0.1:8080

应返回 HTTP 200302


五、浏览器首次初始化

浏览器打开:

http://你的服务器IP:8080

以下按实测向导顺序跟做。

5.1 选择语言

首次进入会弹出 语言 选择,推荐选 简体中文,点击 继续

Trilium 首次访问:语言选择,推荐简体中文

5.2 新建知识库

选择 开始使用 Trilium,点击 新建知识库(从一个全新的知识库开始)。

若你已在其他设备运行 Trilium 服务器或桌面版,也可选 连接到现有服务器 / 连接桌面应用 进行同步;本文演示全新部署。

Trilium 初始化:选择新建知识库

5.3 演示内容 or 空白

推荐首次体验选 包含演示内容,可快速了解 Trilium 的笔记类型、格式化、脚本等能力;熟悉后可删演示笔记。若希望从零开始,选 空白

Trilium 初始化:包含演示内容或空白知识库

5.4 等待知识库准备

选择后会出现 正在准备你的知识库 加载页,稍等片刻即可。

Trilium 初始化:正在准备知识库

5.5 设置密码

Trilium 网页版需设置 登录密码(非多用户账号体系,单实例一个密码)。填写密码与确认密码,点击 设置密码

Trilium 初始化:设置登录密码

安全提示:请使用强密码并妥善保存。若对公网开放 8080,务必尽快完成初始化。生产环境建议关闭公网直连,改用 第九节反向代理 HTTPS

5.6 登录

设置完成后进入 登录 Trilium Notes 页面,输入刚才设置的密码,可勾选 记住我,点击 登录

Trilium 登录页:输入密码登录


六、主界面与核心功能

登录成功后进入 Trilium 主界面。若选了演示内容,左侧笔记树会出现 Journal(日记)与 Trilium Demo 等节点。

6.1 日记(Journal)与日历视图

Journal 按年 / 月 / 日自动组织笔记,中央可切换 日 / 周 / 月 / 年 / 列表 视图,适合每日记录与回顾。

Trilium 主界面:Journal 日记与月历视图

6.2 创建笔记

在日记或任意节点下 新建笔记,中央为富文本编辑器,支持 文本 / 画布 / 代码 / Markdown / 集合 / 模板 等笔记类型,顶部工具栏提供格式化、链接、表格、代码块等能力。

Trilium 新建笔记:富文本编辑器与笔记类型切换

6.3 全文搜索

点击左侧 搜索 图标,可输入关键词或标签(如 #calendarRoot)进行 全文搜索,结果按路径与属性展示,支持分页浏览。

Trilium 全文搜索:关键词与标签检索结果

6.4 快速搜索(Quick Search)

按快捷键或点击搜索栏,弹出 快速搜索 overlay:可按名称或类型搜索笔记,查看最近访问,或 Ctrl + Enter 触发全文搜索。

Trilium 快速搜索:按名称搜索与最近访问

6.5 笔记地图(Note Map)

笔记地图 以节点与箭头可视化笔记间的链接关系,适合梳理知识结构与发现关联。演示内容中 Trilium Demo 与各子笔记的链接一目了然。

Trilium 笔记地图:知识图谱可视化

6.6 最近修改

点击 最近修改 可查看按时间排序的编辑历史,快速回到刚改过的笔记。

Trilium 最近修改:按时间线查看编辑历史


七、安全、设置与扩展

7.1 保护会话(Protected Session)

Trilium 支持 笔记级加密。访问受保护笔记时,需输入密码进入 保护会话。点击左侧盾牌图标,在弹窗中输入密码后点击 开始保护会话

Trilium 保护会话:输入密码访问加密笔记

7.2 外观设置

左下角 选项(Options)外观:可切换 应用主题(如「现代」)、配色方案(跟随系统 / 浅色 / 深色)、版面样式(旧布局 / 新布局)等。

Trilium 选项:外观主题与深色模式

7.3 AI / LLM 与 MCP

选项 → AI / LLM:可添加 LLM 提供商,启用右侧 AI 对话 面板;还可开启 MCP 服务器,供 Claude Code、GitHub Copilot 等 AI 助手读写笔记(默认仅本地访问)。

Trilium 选项:AI 提供商与 MCP 配置

7.4 同步设置

选项 → 同步:填写 服务器地址(如 https://notes.example.com),桌面版与移动版可与此 Docker 实例同步。部署在本机时可填 http://服务器IP:8080 进行内网测试。

Trilium 选项:同步服务器地址配置

7.5 代码笔记设置

选项 → 代码笔记:配置 自动换行制表符宽度Vim 快捷键CodeMirror 主题(如 VS Code Dark)等,适合开发者维护代码片段库。

Trilium 选项:代码笔记编辑器与 Vim 配置


八、生产推荐:Docker Compose

适合:长期运行、需要可复现配置、便于 git 管理部署文件的场景。

8.1 目录结构

cd /www/wwwroot/trilium

将包含:

/www/wwwroot/trilium/
├── docker-compose.yml
└── trilium-data/          # 笔记数据(需 chown 1000:1000)

8.2 编写 docker-compose.yml

基于 官方 docker-compose.yml,镜像改为轩辕加速域:

services:
  trilium:
    image: docker.xuanyuan.run/triliumnext/trilium:v0.91.6
    container_name: trilium
    restart: unless-stopped
    environment:
      - TRILIUM_DATA_DIR=/home/node/trilium-data
      - TZ=Asia/Shanghai
    ports:
      - "8080:8080"
    volumes:
      - ./trilium-data:/home/node/trilium-data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro

生产环境请将 main 换为固定版本标签(如 v0.91.6),避免自动升级破坏同步。

8.3 启动与运维

docker compose up -d
docker compose ps
docker compose logs -f trilium

常用运维:

# 升级:先备份 trilium-data/
docker compose pull
docker compose up -d

# 停止(保留数据)
docker compose down

8.4 生产环境注意

  • HTTPS:将 Trilium 放在 Nginx、Caddy 或 Traefik 反向代理 之后,对外只暴露 443。官方文档:Nginx Proxy SetupTLS Configuration
  • 备份:定期打包宿主机 trilium-data/ 目录(含 SQLite 数据库与附件)。
  • 防火墙:若必须直连端口,可 sudo ufw allow 8080/tcp;云服务器需在 安全组 放行。更推荐仅反代对外、8080 仅内网访问。
  • 多因素认证:可在 选项 → 密码与认证 中配置 TOTP 等,详见官方 Multi-Factor Authentication

九、从旧版 zadam/trilium 迁移

TriliumNext 是原 zadam/trilium 的社区延续版。迁移步骤:

  1. 停止原 zadam/trilium 容器
  2. 同一宿主机数据目录 挂载到新镜像的 /home/node/trilium-data
  3. 启动新容器,自动识别现有数据库

版本兼容性:v0.90.4 及以下与原 zadam/trilium v0.63.7 兼容;更高版本因同步协议更新,跨版本迁移需查阅 TriliumNext 文档


十、常见问题 FAQ

Q1:轩辕镜像页写挂载 /data,为什么本文用 /home/node/trilium-data

TriliumNext 官方镜像(triliumnext/trilium)数据目录为 /home/node/trilium-data/data 是旧版 zadam/trilium 或部分第三方镜像的写法。挂载路径错误会导致 数据未持久化,容器重建后笔记丢失。

Q2:8080 端口被占用怎么办?

docker run -d --name trilium --restart unless-stopped \
  -p 8081:8080 \
  -v /www/wwwroot/trilium/trilium-data:/home/node/trilium-data \
  -e TZ=Asia/Shanghai \
  docker.xuanyuan.run/triliumnext/trilium:main

浏览器访问 http://服务器IP:8081

Q3:数据存在哪里?

宿主机 /www/wwwroot/trilium/trilium-data,容器内 /home/node/trilium-data。含 SQLite 数据库与用户上传附件。删除该目录会丢失全部笔记

Q4:权限报错 EACCES 怎么办?

sudo chown -R 1000:1000 /www/wwwroot/trilium/trilium-data
docker restart trilium

或通过环境变量指定 UID/GID:

docker run -d ... -e USER_UID=1000 -e USER_GID=1000 ...

Q5:mainlatest 能用吗?

可以试用,但官方 不建议生产使用——可能自动升级导致同步客户端不兼容。推荐固定版本号如 v0.91.6

Q6:如何升级 Trilium?

# 单容器:先备份 trilium-data/
docker pull docker.xuanyuan.run/triliumnext/trilium:v0.91.6
docker stop trilium && docker rm trilium
# 再执行第四节 docker run(数据卷不变)

# Compose
cd /www/wwwroot/trilium && docker compose pull && docker compose up -d

Q7:忘记密码怎么办?

Trilium 无默认「忘记密码邮件」流程。需在服务器数据目录中重置,或参考官方 FAQ / Troubleshooting。建议初始化时使用强密码并妥善保存。

Q8:容器启动后浏览器无法访问?

依次检查:docker ps 确认 Updocker logs trilium 看报错;本机 curl -I http://127.0.0.1:8080;云服务器 安全组 / 防火墙 是否放行 8080。

Q9:与 Docker Hub 官方镜像的关系?

功能相同。docker.xuanyuan.run/triliumnext/trilium 为轩辕镜像加速的 Docker Hub 同步版,便于国内拉取。配置中将镜像名替换为轩辕域即可。

Q10:如何停止与卸载?

# 单容器(保留 trilium-data/)
docker stop trilium && docker rm trilium

# Compose
cd /www/wwwroot/trilium && docker compose down

# 删除数据(慎用)
rm -rf /www/wwwroot/trilium/trilium-data

十一、命令速查

操作命令
拉取镜像docker pull docker.xuanyuan.run/triliumnext/trilium:main
创建数据目录sudo mkdir -p /www/wwwroot/trilium/trilium-data && sudo chown -R 1000:1000 /www/wwwroot/trilium/trilium-data
快速启动见第四节 docker run 完整命令
Compose 启动cd /www/wwwroot/trilium && docker compose up -d
查看日志docker logs -f trilium
健康检查curl -I http://127.0.0.1:8080
Web 访问http://服务器IP:8080
备份数据tar czf trilium-backup-$(date +%F).tar.gz -C /www/wwwroot/trilium trilium-data
停止服务docker stop trilium && docker rm trilium

十二、延伸阅读

主题链接
轩辕镜像页https://xuanyuan.cloud/zh/r/triliumnext/trilium
官方 Docker 文档https://docs.triliumnotes.org/user-guide/setup/server/installation/docker
TriliumNext 文档索引https://triliumnext.github.io/Docs/
GitHub 源码https://github.com/TriliumNext/Trilium
Docker Hub 镜像https://hub.docker.com/r/triliumnext/trilium
官方 docker-compose.ymlhttps://github.com/TriliumNext/Trilium/blob/main/docker-compose.yml
Nginx 反向代理https://docs.triliumnotes.org/user-guide/setup/server/installation/nginx-proxy-setup
同步说明https://docs.triliumnotes.org/user-guide/setup/server/synchronization
备份说明https://docs.triliumnotes.org/user-guide/setup/server/backup
轩辕镜像https://xuanyuan.cloud

总结:Trilium Notes = 私有化大型层级知识库,单容器、一条命令就能跑。个人试用选 第四节单容器 + 第五节浏览器向导;长期运行选 第八节 Compose,配合 数据备份反向代理 HTTPS。数据目录务必挂载到 /home/node/trilium-data,笔记与知识图谱完全在自己服务器上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值