Docker搭建超高自由度的私有笔记服务--Trilium 
Trilium是一款超高自由度的笔记工具,除了市面上常见的双向链接、无限嵌套、笔记地图等功能外,还支持自定义js脚本实现你能想到的任何逻辑。
特色 
自由的主题设置 
Trilium支持CSS改变系统主题,将任意一个文件加上CSS主题属性,即可直接使用该主题,并且Github上也开源了丰富的主题包,可直接复制使用。 Linen主题  VSCODE主题
 VSCODE主题  其他主题包可在GitHub获取。
 其他主题包可在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.sh2. 编写启动脚本 
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;
    }
}