前置条件※
- 云服务器:建议买国外的服务器,这样不仅可以省去备案的繁琐步骤,并且可以绕过网络限制畅游互联网。
- 域名(可选):目的是避免用ip地址加端口号访问应用,这样可使得访问行为更为优雅。
正式部署(以Ubuntu为例)※
安装docker和docker-compose:用docker部署应用方便省事儿,如果中途出了什么差错,直接kill掉重装就好了。安装命令如下
# 更新包索引 sudo apt-get update # 安装包依赖 sudo apt-get install apt-transport-https ca-certificates curl software-properties-common # 添加官方密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # 设置apt软件源 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # 安装docker引擎 sudo apt-get update sudo apt-get install docker-ce # 验证docker安装是否成功 sudo docker --version # 安装docker compose,用于定义和运行多容器的docker应用 # 下载docker compose sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # 授予执行权限 sudo chmod +x /usr/local/bin/docker-compose # 验证是否安装成功 docker-compose --version
安装trilium:这里用的是trilium的汉化版,新建一个文件夹,然后新建一个docker-compose.yml文件,写入如下内容
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
然后执行 docker-compose up -d 即可启动容器,在云服务器平台的控制台开放对应端口后,在浏览器中输入ip+端口号即可访问trilium。
- 导入博客主题:只需要在东东的仓库里下载zip文件,并且导入到根笔记就行,访问ip+端口号/share即可访问博客。
绑定域名(以Caddy为例)※
- 安装Caddy(见Why Caddy)
编辑配置文件:
http://域名, https://域名 { root * /usr/share/caddy file_server reverse_proxy localhost:端口号 } # 用于访问trilium http://blog.域名, https://blog.域名 { @notShare { not path /share* } rewrite @notShare /share{uri} reverse_proxy localhost:端口号 redir / /share/Index } # 用于访问博客
如此便可优雅地访问博客和trilium,更多设置参考东东的这一篇:Trilium博客主题:Ankia 使用指南