TriliumNext/Notes 项目 Docker 部署指南
2025-07-10 05:12:16作者:胡唯隽
概述
TriliumNext/Notes 是一款功能强大的知识管理工具,采用 Docker 部署可以简化安装过程并确保环境一致性。本文将详细介绍如何使用 Docker Compose 部署 TriliumNext/Notes 服务。
准备工作
在开始部署前,请确保您的系统已安装以下组件:
- Docker 引擎
- Docker Compose
核心配置解析
服务定义
在 docker-compose.yml
文件中,我们定义了一个名为 trilium
的服务:
services:
trilium:
image: triliumnext/notes:latest
restart: unless-stopped
environment:
- TRILIUM_DATA_DIR=/home/node/trilium-data
ports:
- '8080:8080'
volumes:
- ${TRILIUM_DATA_DIR:-~/trilium-data}:/home/node/trilium-data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
关键配置项说明
-
镜像选择:
- 默认使用
latest
标签,但建议生产环境使用特定版本号(如v0.90.3
) - 这样可以避免意外升级导致的不兼容问题
- 默认使用
-
重启策略:
unless-stopped
表示容器会自动重启,除非用户明确停止它- 确保服务在意外崩溃后能够自动恢复
-
数据持久化:
- 默认将数据存储在用户主目录的
trilium-data
文件夹中 - 可通过设置
TRILIUM_DATA_DIR
环境变量自定义存储路径 - 数据目录通过卷(volume)映射到容器内部
- 默认将数据存储在用户主目录的
-
端口映射:
- 默认将容器内的 8080 端口映射到主机的 8080 端口
- 服务可通过
http://localhost:8080
访问
-
时区配置:
- 将主机的时区信息挂载到容器内
- 确保笔记中的时间戳与主机系统一致
部署步骤
基本部署
- 创建并进入项目目录
- 创建
docker-compose.yml
文件,内容如上所示 - 运行以下命令启动服务:
docker-compose up
自定义数据目录
如需更改数据存储位置,可以使用以下命令:
TRILIUM_DATA_DIR=/custom/path docker-compose up
后台运行
要使服务在后台运行,添加 -d
参数:
docker-compose up -d
安全建议
-
网络访问控制:
- 默认配置会使服务在本地网络可访问
- 生产环境应考虑使用 Docker 网络、反向代理或访问控制规则限制访问
-
系统安全注意事项:
- 使用 UFW 等系统安全工具时需注意与 Docker 的兼容性问题
- 可能需要额外配置才能正常工作
维护与管理
-
停止服务:
docker-compose down
-
查看日志:
docker-compose logs
-
更新服务:
- 修改
docker-compose.yml
中的镜像版本 - 重新运行
docker-compose up -d
- 修改
常见问题
-
权限问题:
- 确保 Docker 对数据目录有读写权限
- 可能需要调整目录所有者或权限
-
端口冲突:
- 如果 8080 端口已被占用,可修改
ports
配置中的主机端口
- 如果 8080 端口已被占用,可修改
-
时区不正确:
- 确保主机已正确配置时区
- 检查
/etc/timezone
和/etc/localtime
文件是否存在
总结
通过 Docker Compose 部署 TriliumNext/Notes 是一种高效可靠的方式,本文详细介绍了配置文件的各项参数含义,并提供了部署、维护的最佳实践。合理配置数据持久化和网络访问控制,可以确保知识管理服务既安全又稳定地运行。