Files

Nginx Proxy Manager (for testing reverse proxy setups)

Quick start

  1. Start Trilium on the host (default port 8080):

    pnpm run server:start
    
  2. Start Nginx Proxy Manager:

    docker compose up -d
    
  3. Open the NPM admin panel at http://localhost:8081 and log in with:

    • Email: admin@example.com
    • Password: changeme (You'll be asked to change these on first login.)
  4. Add a proxy host:

    • Domain Names: localhost
    • Scheme: http
    • Forward Hostname / IP: host.docker.internal
    • Forward Port: 8080
    • Enable Websockets Support (required for Trilium sync)
  5. Access Trilium through NPM at http://localhost:8090.

With a subpath

To test Trilium behind a subpath (e.g. /trilium/), add a Custom Nginx Configuration in NPM under the Advanced tab of the proxy host:

location /trilium/ {
    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_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_pass http://host.docker.internal:8080/;
    proxy_cookie_path / /trilium/;
    proxy_read_timeout 90;
}

Cleanup

docker compose down -v