Trilium Notes 是一款专注于构建大型个人知识库的开源笔记应用,支持层级化笔记管理、Markdown 编辑、版本控制以及加密等功能。由于原生对中文支持有限,社区中有经过汉化的版本可供使用。本文将演示如何在 Linux 环境下通过 Docker 容器化部署该服务,并结合内网穿透工具实现公网远程访问。
环境准备与安装
本教程基于 Ubuntu 18.04 环境。首先确保系统中已安装 Docker 和 Docker Compose。
sudo apt update
sudo apt install -y docker.io docker-compose
接下来在用户主目录下创建项目目录,用于存放配置文件和数据:
mkdir ~/docker/trilium-cn
cd ~/docker/trilium-cn
在该目录下新建 docker-compose.yml 文件。这里使用了社区维护的汉化镜像配置,主要包含端口映射、数据卷挂载及环境变量设置。注意将同文件夹下的 trilium-data 目录映射到容器内部,以确保笔记数据持久化。
version: '3'
services:
trilium-cn:
image: nriver/trilium-cn
restart: always
ports:
- "8080:8080"
volumes:
# 把同文件夹下的 trilium-data 目录映射到容器内
- ./trilium-data:/root/trilium-data
environment:
# 环境变量表示容器内笔记数据的存储路径
- TRILIUM_DATA_DIR=/root/trilium-data
# 可选功能:健康检查。需要启用的话,把下面的注释去掉
# healthcheck:
# test: ["CMD-SHELL", "curl --fail http://localhost:8080/api/health-check | jq -e '.status == \"ok\"' || exit 1"]
# interval: 30s
# timeout: 10s
# retries: 3
启动服务与本地测试
保存配置文件后,执行以下命令后台启动容器:
sudo docker-compose up -d
启动完成后,在浏览器访问 http://127.0.0.1:8080 即可进入初始化页面。首次使用需选择新用户并设置管理员密码。登录后的界面左侧为导航栏,右侧为内容区。初次使用时建议保留内置的示例笔记,其中包含了 Markdown 语法的使用技巧,有助于快速上手。
配置公网远程访问
若要在外网访问本地服务,且没有固定公网 IP,可以使用内网穿透工具。这里以 Cpolar 为例,它无需修改路由器配置即可生成临时或固定的公网地址。
1. 安装 Cpolar
使用一键脚本安装 Cpolar 客户端:
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
sudo systemctl enable cpolar
sudo systemctl start cpolar
安装成功后,在外部浏览器访问 http://局域网 ip:9200,使用账号登录 Web 管理界面。
2. 创建隧道
在 Web 控制台点击'隧道管理'->'创建隧道'。
- 隧道名称:自定义(如
trilium-tunnel) - 协议:选择
http - 本地地址:填写
8080 - 域名类型:免费用户可选择随机域名
- 地区:根据网络情况选择
点击创建后,在状态列表中查看生成的公网访问地址。此时即可通过该地址在外网访问笔记服务。
3. 绑定固定域名
随机域名会定期变化,如需长期稳定访问,可升级为付费套餐并预留二级子域名。
- 登录 Cpolar 官网仪表盘,在'预留'中选择'保留二级子域名',输入期望的名称(如
mytrilium)。 - 返回 Cpolar Web UI 管理界面,找到对应的隧道,点击'编辑'。
- 将域名类型改为'二级子域名',并在 Sub Domain 字段填入预留成功的名称。
- 点击更新,稍等片刻后刷新列表,即可看到公网地址已变更为固定域名。
至此,您已成功搭建了一个可随时随地远程访问的个人知识库服务。

