Trilium中文版Docker部署指南
项目概述
Trilium是一款开源的层次化笔记应用,支持知识管理和组织。Nriver/trilium-translation项目提供了Trilium的中文版本,方便中文用户使用。本文将详细介绍如何使用Docker Compose部署Trilium中文版服务。
部署前准备
在开始部署前,请确保您的系统已安装以下组件:
- Docker引擎(版本17.12.0+)
- Docker Compose(版本1.21.0+)
Docker Compose配置解析
以下是Trilium中文版的典型docker-compose.yml配置,我们将逐项解析其关键部分:
version: '3'
services:
trilium-cn:
image: nriver/trilium-cn
restart: always
ports:
- "8080:8080"
volumes:
- ./trilium-data:/root/trilium-data
environment:
- TRILIUM_DATA_DIR=/root/trilium-data
服务定义
-
镜像选择:使用
nriver/trilium-cn
镜像,这是官方维护的Trilium中文版本。 -
重启策略:设置为
always
,确保服务异常退出后自动重启,提高服务可靠性。 -
端口映射:将容器内部的8080端口映射到主机的8080端口,这是Trilium的默认服务端口。
数据持久化
-
数据卷挂载:将主机上的
./trilium-data
目录挂载到容器的/root/trilium-data
路径,确保笔记数据持久化存储,避免容器重建时数据丢失。 -
环境变量:通过
TRILIUM_DATA_DIR
环境变量指定容器内笔记数据的存储路径,与挂载的卷路径保持一致。
健康检查(可选)
配置中还提供了健康检查的示例(默认注释),如需启用可以取消注释:
healthcheck:
test: ["CMD-SHELL", "curl --fail http://localhost:8080/api/health-check | jq -e '.status == "ok"' || exit 1"]
interval: 30s
timeout: 10s
retries: 3
健康检查会定期(每30秒)向服务发送请求,验证服务是否正常运行。如果连续3次检查失败(每次超时10秒),Docker会将容器标记为不健康。
部署步骤
-
创建项目目录并进入:
mkdir trilium-cn && cd trilium-cn
-
创建
docker-compose.yml
文件,将上述配置内容复制到文件中 -
启动服务:
docker-compose up -d
-
验证服务:
- 访问
http://localhost:8080
- 或使用命令检查容器状态:
docker-compose ps
- 访问
数据备份与迁移
由于我们将数据目录挂载到了主机上,备份和迁移变得非常简单:
- 备份:直接复制
trilium-data
目录 - 迁移:在新主机上创建相同目录结构,放入备份数据,重新部署即可
常见问题处理
-
端口冲突:如果8080端口已被占用,可以修改
ports
配置为其他端口,如"8090:8080"
-
权限问题:确保主机上的
trilium-data
目录对Docker进程可写 -
数据损坏:如果遇到数据问题,可以停止服务后删除容器(数据会保留在主机目录),然后重新部署
进阶配置建议
-
使用Nginx反向代理:生产环境建议在前端配置Nginx,添加SSL/TLS加密
-
定期备份:设置cron任务定期备份
trilium-data
目录 -
资源限制:可以为容器添加CPU和内存限制,防止资源占用过高
通过以上配置和步骤,您可以轻松部署一个稳定可靠的Trilium中文版知识管理服务,享受高效的知识组织和笔记体验。