Trilium Notes

https://github.com/TriliumNext/Trilium/

用 docker 部署

初始化 Volume 目錄

 

sudo mkdir -p /var/lib/trilium
sudo chown -R $USER:$USER /var/lib/trilium

確認 Port 可用

sudo lsof -i :8090

Bootstrap docker-compose workspace

 

sudo mkdir -p /opt/trilium
sudo chown -R $USER:$USER /opt/trilium

cd /opt/trilium
nano docker-compose.yml

docker-compose.yml

 

services:
  trilium:
    image: triliumnext/trilium:latest
    container_name: trilium
    restart: unless-stopped
    ports:
      - "8090:8080"
    volumes:
      - /var/lib/trilium:/home/node/trilium-data
    environment:
      - TRILIUM_DATA_DIR=/home/node/trilium-data

設定 DNS

  • Type: A + Dynamic DNS Record
  • Host: note
  • Value: 1.173.17.44
  • TTL: Automatic

Nginx

建立 Nginx 暫時站點設定檔 (site config)

    1. sudo nano /etc/nginx/sites-available/trilium
    2. server {
          listen 80;
          server_name note.a1go.ai;
      
          location / {
              proxy_pass http://127.0.0.1:8090;
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection 'upgrade';
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
              proxy_cache_bypass $http_upgrade;
          }
      }
  1. 啟用站點設定
    sudo ln -s /etc/nginx/sites-available/trilium /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl reload nginx

申請 SSL 憑證

sudo certbot certonly --nginx -d note.a1go.ai

替換為完整版 Nginx 站點設定檔 (site config)

  1. sudo nano /etc/nginx/sites-available/trilium
    1. Ctrl + A & Alt+ T1nano: 刪除全部
    2. server {
          listen 80;
          listen [::]:80;
          server_name note.a1go.ai;
          return 301 https://$host$request_uri;
      }
      
      server {
          listen 443 ssl http2;
          listen [::]:443 ssl http2;
          server_name note.a1go.ai;
      
          ssl_certificate /etc/letsencrypt/live/note.a1go.ai/fullchain.pem;
          ssl_certificate_key /etc/letsencrypt/live/note.a1go.ai/privkey.pem;
          include /etc/letsencrypt/options-ssl-nginx.conf;
          ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
      
          location / {
              proxy_pass http://127.0.0.1:8090;
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection 'upgrade';
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
              proxy_cache_bypass $http_upgrade;
          }
      }
  2. 更新站點設定
    sudo nginx -t && sudo systemctl reload nginx

Last Updated on 2026/03/18 by A1go

References

目錄
Bitnami