首页
/ TriliumNext/Notes 项目 Docker 部署指南

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

关键配置项说明

  1. 镜像选择

    • 默认使用 latest 标签,但建议生产环境使用特定版本号(如 v0.90.3
    • 这样可以避免意外升级导致的不兼容问题
  2. 重启策略

    • unless-stopped 表示容器会自动重启,除非用户明确停止它
    • 确保服务在意外崩溃后能够自动恢复
  3. 数据持久化

    • 默认将数据存储在用户主目录的 trilium-data 文件夹中
    • 可通过设置 TRILIUM_DATA_DIR 环境变量自定义存储路径
    • 数据目录通过卷(volume)映射到容器内部
  4. 端口映射

    • 默认将容器内的 8080 端口映射到主机的 8080 端口
    • 服务可通过 http://localhost:8080 访问
  5. 时区配置

    • 将主机的时区信息挂载到容器内
    • 确保笔记中的时间戳与主机系统一致

部署步骤

基本部署

  1. 创建并进入项目目录
  2. 创建 docker-compose.yml 文件,内容如上所示
  3. 运行以下命令启动服务:
    docker-compose up
    

自定义数据目录

如需更改数据存储位置,可以使用以下命令:

TRILIUM_DATA_DIR=/custom/path docker-compose up

后台运行

要使服务在后台运行,添加 -d 参数:

docker-compose up -d

安全建议

  1. 网络访问控制

    • 默认配置会使服务在本地网络可访问
    • 生产环境应考虑使用 Docker 网络、反向代理或访问控制规则限制访问
  2. 系统安全注意事项

    • 使用 UFW 等系统安全工具时需注意与 Docker 的兼容性问题
    • 可能需要额外配置才能正常工作

维护与管理

  1. 停止服务

    docker-compose down
    
  2. 查看日志

    docker-compose logs
    
  3. 更新服务

    • 修改 docker-compose.yml 中的镜像版本
    • 重新运行 docker-compose up -d

常见问题

  1. 权限问题

    • 确保 Docker 对数据目录有读写权限
    • 可能需要调整目录所有者或权限
  2. 端口冲突

    • 如果 8080 端口已被占用,可修改 ports 配置中的主机端口
  3. 时区不正确

    • 确保主机已正确配置时区
    • 检查 /etc/timezone/etc/localtime 文件是否存在

总结

通过 Docker Compose 部署 TriliumNext/Notes 是一种高效可靠的方式,本文详细介绍了配置文件的各项参数含义,并提供了部署、维护的最佳实践。合理配置数据持久化和网络访问控制,可以确保知识管理服务既安全又稳定地运行。