Trilium Notes is a hierarchical note-taking application with focus on building large personal knowledge bases
.
|-- .env
|-- data/
`-- docker-compose.yml
.env
- a file containing all the environment variables used in the docker-compose.ymldocker-compose.yml
- a docker-compose file, use to configure your application’s servicesdata/
- a directory used to store the data
Please make sure that all the files and directories are present.
Links to the following docker-compose.yml and the corresponding .env.
- docker-compose.yml
version: '3'
services:
trilium:
image: 'zadam/trilium:latest'
container_name: trilium
restart: unless-stopped
volumes:
- "./data:/home/node/trilium-data"
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.webserver.rule=Host(`${TRAEFIK_TRILIUM}`)"
- "traefik.http.routers.webserver.entrypoints=https"
- "traefik.http.routers.webserver.tls=true"
- "traefik.http.routers.webserver.tls.certresolver=mydnschallenge"
# Watchtower Update
- "com.centurylinklabs.watchtower.enable=true"
networks:
proxy:
external: true
- .env
TRAEFIK_TRILIUM=trilium.example.com
The docker-compose contains only one service using the trilium image.
- Traefik up and running.
- A subdomain of your choice, this example uses
trilium
.- You should be able to create a subdomain with your DNS provider, use a
A record
with the same IP address as your root domain.
- You should be able to create a subdomain with your DNS provider, use a
Replace the environment variables in .env
with your own, then run :
sudo docker-compose up -d
You should then be able to access the trilium web-ui and start creating notes !
The image is automatically updated with watchtower thanks to the following label :
# Watchtower Update
- "com.centurylinklabs.watchtower.enable=true"
Docker volumes are globally backed up using borg-backup.