Files
Portainer/trilium/docker-compose.yml
root 5617b29fcf fix: replace variable bind mounts with hardcoded paths/named volumes
Coolify converts ${VAR}:/path bind mounts to named Docker volumes when
the variable is not resolved. Fixed per stack:

- adguard: -> named volumes (data already in Coolify-created volumes)
- authentik: -> named volumes (data already in Coolify-created volumes)
- gitea: -> /opt/gitea/{postgres,data,runner}
- mail-relay: -> /opt/mail-relay/{queue,opendkim,secrets/...}
- media-server: COMMON_PATH -> /opt/media (hardcoded)
- trilium: -> /opt/trilium/data
- wireguard: -> /opt/wg-easy + /lib/modules

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-23 02:09:08 +00:00

33 lines
845 B
YAML

services:
trilium:
image: ${TRILIUM_IMAGE}
container_name: trilium
pull_policy: always
restart: unless-stopped
hostname: ${TRILIUM_HOSTNAME}
environment:
TZ: ${TZ}
volumes:
- /opt/trilium/data:/home/node/trilium-data:Z
expose:
- "${TRILIUM_HTTP_PORT}"
networks:
- proxy
labels:
traefik.http.services.trilium.loadbalancer.server.port: "${TRILIUM_HTTP_PORT}"
traefik.http.middlewares.trilium-sec.headers.stsSeconds: "31536000"
traefik.http.middlewares.trilium-sec.headers.stsIncludeSubdomains: "true"
traefik.http.middlewares.trilium-sec.headers.stsPreload: "true"
traefik.http.middlewares.trilium-sec.headers.contentTypeNosniff: "true"
traefik.http.middlewares.trilium-sec.headers.frameDeny: "true"
networks:
proxy:
external: true