本文总结基于 Trilium(Zettelkasten 知识管理系统的杰出代表)的自建部署流程,通过 Docker Compose 快速搭建自己的私有知识库系统。
为什么选择 Trilium
- 树状知识图谱 — 支持笔记之间的层级关系和知识图谱可视化
- 丰富的编辑功能 — Markdown 支持、富文本编辑、白板绘图
- 私有化部署 — 数据完全存储在自己的服务器上,不依赖第三方云服务
- 开放 API — 提供完整的 REST API,支持扩展和集成
- 标签系统 — 灵活的标签管理,便于知识分类和检索
Docker Compose 部署
创建编排文件
touch docker-compose.ymldocker-compose.yml
services:
trilium:
image: triliumnext/trilium:v0.103.0
container_name: trilium
restart: unless-stopped
ports:
- "8080:8080"
environment:
TZ: Asia/Shanghai
USER_UID: "1000"
USER_GID: "1000"
volumes:
- ./trilium-data:/home/node/trilium-data启动服务
docker compose up -d启动后访问 http://<服务器IP>:8080 即可进入 Trilium 首页。
初始配置
1. 创建管理员账号
首次访问时,系统会提示你创建账号,第一个创建的账号自动成为管理员。
2. 配置备注服务器(推荐)
为了更好的搜索和增强功能,建议配置一个备注服务器:
- 进入 设置 → 配置备注服务器
- 填写备注服务器地址,例如:
http://<服务器IP>:3301 - 点击 测试连接,确保正常访问
3. 创建笔记
在 Trilium 中,知识以笔记的形式组织。你可以创建:
- 笔记页 — 纯文本、Markdown 或富文本内容
- 白板笔记 — 适合思维导图和知识图谱绘制
- 表格笔记 — 数据管理和结构化信息
- 日记笔记 — 按日期自动组织的笔记
高级功能配置
反向代理配置(Nginx 示例)
生产环境建议配置反向代理,将 http://<服务器IP>:8080 映射到 https://your-trilium-domain.com:
server {
listen 443 ssl http2;
server_name your-trilium-domain.com;
ssl_certificate /path/to/your/cert.pem;
ssl_certificate_key /path/to/your/key.pem;
location / {
proxy_pass http://localhost:8080;
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;
}
}数据备份策略
Trilium 的数据存储在 trilium-data 目录中,建议定期备份:
# 停止容器
docker compose down
# 备份数据
tar -czf trilium-backup-$(date +%Y%m%d).tar.gz ./trilium-data
# 重新启动
docker compose up -d使用技巧
1. 笔记链接与引用
- 内部链接:在笔记中使用
[[笔记标题]]创建链接 - 笔记属性:为笔记添加属性,如标签、日期等
- 模板系统:创建常用笔记模板,提高创建效率
2. 快捷键(常用)
Ctrl+N— 创建新笔记Ctrl+Shift+N— 创建新子笔记Ctrl+L— 链接到笔记Ctrl+K— 创建笔记引用
3. 搜索功能
⚠️ 注意: Trilium 的中文搜索能力相对思源笔记较弱,如果需要大量中文内容搜索,建议优先考虑思源笔记。
- 全文搜索:使用右上角的搜索框进行全文搜索
- 标签搜索:使用
#标签名进行标签筛选 - 属性搜索:使用属性筛选功能精确查找
4. 知识图谱
利用 Trilium 的知识图谱功能,可视化知识之间的联系:
- 在笔记中点击 查看笔记 → 知识图谱
- 点击节点可以查看或编辑相关笔记
- 使用鼠标拖动调整图谱布局
性能优化建议
1. 文件管理
- 定期清理无用的笔记和附件
- 压缩大型图片附件
- 使用外部链接存储大型文件
2. 索引维护
当笔记数量增长时,定期重建索引以提高搜索性能:
# 进入容器
docker exec -it trilium bash
# 重建索引
./trilium rebuild-index扩展功能
1. 插件系统
Trilium 支持第三方插件,可以通过社区插件增强功能:
- 代码高亮插件
- 数学公式渲染插件
- 思维导图插件
- PDF 阅读插件
2. API 扩展
使用 Trilium 的 REST API 开发自定义功能:
# 创建笔记示例
curl -X POST "http://localhost:8080/api/notes" \
-H "Content-Type: application/json" \
-d '{
"title": "新笔记",
"content": "笔记内容",
"parentNoteId": "ROOT_NOTE_ID"
}'与其他工具对比
| 特性 | Trilium | Memos | 思源笔记 |
|---|---|---|---|
| 知识图谱 | ✅ 强大 | ❌ 无 | ✅ 一般 |
| 中文搜索 | ⚠️ 一般 | ✅ 良好 | ✅ 优秀 |
| Markdown | ✅ 完整支持 | ✅ 完整支持 | ✅ 完整支持 |
| 私有化部署 | ✅ 支持 | ✅ 支持 | ✅ 支持 |
| 开源免费 | ✅ 是 | ✅ 是 | ✅ 是 |
总结
Trilium 是一款功能强大的知识库系统,特别适合构建结构化的知识体系。虽然中文搜索能力不如思源笔记,但其知识图谱和灵活的笔记组织方式使其成为构建知识体系的绝佳选择。通过 Docker Compose 部署简单便捷,适合各种规模的个人或团队使用。
评论区