diff --git a/radicale/docker-compose.yml b/radicale/docker-compose.yml index 9cefae8..d0520e9 100644 --- a/radicale/docker-compose.yml +++ b/radicale/docker-compose.yml @@ -19,14 +19,27 @@ services: limits: memory: 256M pids: 50 + labels: + - traefik.enable=true + - traefik.http.routers.radicale.rule=Host(`${TRAEFIK_DOMAIN}`) + - traefik.http.routers.radicale.entrypoints=https + - traefik.http.routers.radicale.tls=true + - traefik.http.routers.radicale.tls.certresolver=cloudflare + - traefik.http.services.radicale.loadbalancer.server.port=5232 volumes: - ${APPDATA_PATH}/radicale/data:/data - ${APPDATA_PATH}/radicale/config:/config:ro ports: - ${PORT}:5232 + networks: + - frontend healthcheck: test: curl -f http://127.0.0.1:5232 || exit 1 interval: 10s timeout: 5s retries: 3 start_period: 10s + +networks: + frontend: + external: true diff --git a/stirling-pdf/docker-compose.yml b/stirling-pdf/docker-compose.yml index da2de7f..427ae64 100644 --- a/stirling-pdf/docker-compose.yml +++ b/stirling-pdf/docker-compose.yml @@ -3,6 +3,13 @@ services: container_name: stirling-pdf image: ghcr.io/stirling-tools/stirling-pdf:1.0.2-fat restart: unless-stopped + labels: + - traefik.enable=true + - traefik.http.routers.stirling-pdf.rule=Host(`${TRAEFIK_DOMAIN}`) + - traefik.http.routers.stirling-pdf.entrypoints=https + - traefik.http.routers.stirling-pdf.tls=true + - traefik.http.routers.stirling-pdf.tls.certresolver=cloudflare + - traefik.http.services.stirling-pdf.loadbalancer.server.port=8080 environment: - DISABLE_ADDITIONAL_FEATURES=${DISABLE_ADDITIONAL_FEATURES} - DOCKER_ENABLE_SECURITY=${DOCKER_ENABLE_SECURITY} @@ -25,3 +32,9 @@ services: timeout: 5s retries: 3 start_period: 120s + networks: + - frontend + +networks: + frontend: + external: true diff --git a/syncyomi/docker-compose.yml b/syncyomi/docker-compose.yml index 21fec6d..b13e648 100644 --- a/syncyomi/docker-compose.yml +++ b/syncyomi/docker-compose.yml @@ -3,6 +3,13 @@ services: container_name: syncyomi image: ghcr.io/syncyomi/syncyomi:v1.1.4 restart: unless-stopped + labels: + - traefik.enable=true + - traefik.http.routers.syncyomi.rule=Host(`${TRAEFIK_DOMAIN}`) + - traefik.http.routers.syncyomi.entrypoints=https + - traefik.http.routers.syncyomi.tls=true + - traefik.http.routers.syncyomi.tls.certresolver=cloudflare + - traefik.http.services.syncyomi.loadbalancer.server.port=8282 environment: - TZ=${TZ} volumes: @@ -10,9 +17,15 @@ services: - ${APPDATA_PATH}/syncyomi/log:/log ports: - ${PORT}:8282 + networks: + - frontend healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8282"] interval: 10s timeout: 5s retries: 3 start_period: 10s + +networks: + frontend: + external: true