refactor(docker): remove all .env file references and add configurable Traefik vars

- Remove env_file from deploy/portainer-stack.yml (api and web services)
- Add TRAEFIK_CERT_RESOLVER env var to all Traefik router labels
- Add TRAEFIK_DASHBOARD_SUBDOMAIN for configurable dashboard hostname
- Add TRAEFIK_ENTRYPOINT env var to Traefik dashboard router
- Update .env.example with TRAEFIK_DASHBOARD_SUBDOMAIN and TRAEFIK_LOG_LEVEL
- Update deploy/.env.example with new Traefik variables

All environment variables now come from host environment only.
This commit is contained in:
2026-05-16 12:05:43 +00:00
parent dab37a88e8
commit 1f2017b7a9
4 changed files with 25 additions and 14 deletions
+5 -5
View File
@@ -25,9 +25,9 @@ services:
- tools
labels:
- traefik.enable=true
- traefik.http.routers.traefik-dashboard.rule=Host(`traefik.${ROOT_DOMAIN:-localhost}`)
- traefik.http.routers.traefik-dashboard.entrypoints=websecure
- traefik.http.routers.traefik-dashboard.tls.certresolver=letsencrypt
- traefik.http.routers.traefik-dashboard.rule=Host(`${TRAEFIK_DASHBOARD_SUBDOMAIN:-traefik}.${ROOT_DOMAIN:-localhost}`)
- traefik.http.routers.traefik-dashboard.entrypoints=${TRAEFIK_ENTRYPOINT:-websecure}
- traefik.http.routers.traefik-dashboard.tls.certresolver=${TRAEFIK_CERT_RESOLVER:-letsencrypt}
- traefik.http.routers.traefik-dashboard.service=api@internal
- traefik.http.routers.traefik-dashboard.middlewares=auth@file
restart: unless-stopped
@@ -64,7 +64,7 @@ services:
- traefik.enable=true
- traefik.http.routers.api.rule=Host(`api.${ROOT_DOMAIN:-localhost}`)
- traefik.http.routers.api.entrypoints=websecure
- traefik.http.routers.api.tls.certresolver=letsencrypt
- traefik.http.routers.api.tls.certresolver=${TRAEFIK_CERT_RESOLVER:-letsencrypt}
- traefik.http.services.api.loadbalancer.server.port=8000
- traefik.http.routers.api.middlewares=sec-headers@file
restart: unless-stopped
@@ -91,7 +91,7 @@ services:
- traefik.enable=true
- traefik.http.routers.web.rule=Host(`${ROOT_DOMAIN:-localhost}`)
- traefik.http.routers.web.entrypoints=websecure
- traefik.http.routers.web.tls.certresolver=letsencrypt
- traefik.http.routers.web.tls.certresolver=${TRAEFIK_CERT_RESOLVER:-letsencrypt}
- traefik.http.services.web.loadbalancer.server.port=8080
- traefik.http.routers.web.middlewares=sec-headers@file
restart: unless-stopped