从头开始部署Trilium博客

-
-
2025-04-25

前置条件

  1. 云服务器:建议买国外的服务器,这样不仅可以省去备案的繁琐步骤,并且可以绕过网络限制畅游互联网。
  2. 域名(可选):目的是避免用ip地址加端口号访问应用,这样可使得访问行为更为优雅。

正式部署(以Ubuntu为例)

  1. 安装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
    
  2. 安装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。

  3. 导入博客主题:只需要在东东的仓库里下载zip文件,并且导入到根笔记就行,访问ip+端口号/share即可访问博客。

绑定域名(以Caddy为例)

  1. 安装Caddy(见Why Caddy
  2. 编辑配置文件:

    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 使用指南


目录