Docker搭建超高自由度的私有笔记服务--Trilium
Trilium是一款超高自由度的笔记工具,除了市面上常见的双向链接、无限嵌套、笔记地图等功能外,还支持自定义js脚本实现你能想到的任何逻辑。
特色
自由的主题设置
Trilium支持CSS改变系统主题,将任意一个文件加上CSS主题属性,即可直接使用该主题,并且Github上也开源了丰富的主题包,可直接复制使用。 Linen主题 VSCODE主题 其他主题包可在GitHub获取。
双向链接
无限嵌套
任意一个笔记都可以作为父级,无限嵌套层级
地图笔记
可视化的展示笔记之间的关系图
支持JS脚本,高自由度的完成个人定制
多种内置展示模块
- 统计
- 美人鱼图
- 画布
- 其他各种模块,数量太多此处不一一展示了
全局的笔记搜索
支持全文快速检索定位
笔记复制
相当于linux的硬链接,复制的笔记修改,源笔记也会跟着修改
Docker部署
本文使用了nriver大佬的中文翻译镜像进行部署,感谢nriver大佬的汉化付出。镜像内置了很多的使用说明以及模块样例,请使用前仔细阅读,有助于更丝滑的使用Trilium。 项目地址Nriver/trilium-translation
1. 创建启动脚本
sh
mkdir -p /data/trilium/data
cd /data/trilium
touch start.sh
chmod +x start.sh
2. 编写启动脚本
sh
vim start.sh
docker run -d \
--name trilium \
--restart=always \
--log-opt max-size=1m \
-v /data/trilium/data:/root/trilium-data \
-e TRILIUM_DATA_DIR=/root/trilium-data \
-p 8080:8080 \
nriver/trilium-cn:latest
- -v /data/trilium/data:/root/trilium-data 设置笔记数据持久化
- -e TRILIUM_DATA_DIR=/root/trilium-data 指定容器内的存储路径
- -p 8080:8080 映射服务端口
3. 运行脚本./start.sh
,登陆localhost:8080
查看页面
4. Nginx转发
若需要使用Nginx转发请注意WS相关配置
nginx
# trilium笔记
server {
listen 443 ssl;
server_name _;
ssl_certificate "证书路径";
ssl_certificate_key "私钥路径";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
location / {
proxy_pass http://localhost:8080;
}
}