Files
homelab-infra/docs/services/traefik.md
1jamesthompson1 716baafbc1 AI given structure
2026-03-23 16:06:42 +13:00

2.2 KiB

traefik

Auto-generated from docker-compose.yml

Field Value
Image traefik:v3.6
Container traefik
Restart unless-stopped

Command

--entrypoints.web.address=:80 --entrypoints.web.http.redirections.entrypoint.to=websecure --entrypoints.web.http.redirections.entrypoint.scheme=https --entrypoints.websecure.address=:443 --providers.docker=true --providers.docker.exposedbydefault=false --providers.docker.network=web --certificatesresolvers.letsencrypt.acme.httpchallenge=true --certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web --certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL} --certificatesresolvers.letsencrypt.acme.storage=/certs/acme.json --metrics.prometheus=true --accesslog=true --providers.file.directory=/dynamic --providers.file.watch=true

Secrets (from .env.example)

These variables must be set in the service's .env file:

Variable Default
TRAEFIK_DASHBOARD_PORT 8082
ACME_EMAIL letsencrypt@example.com
DASHBOARD_BASIC_AUTH admin:$$apr1$$changeme$$REPLACE_WITH_HTPASSWD_HASH

Ports

Host Container Protocol
80 80 tcp
443 443 tcp
${TRAEFIK_DASHBOARD_PORT:-8082} 8080 tcp

Volumes

Host Path Container Path Mode
/var/run/docker.sock /var/run/docker.sock ro
${STORAGE_PATH}/traefik/certs /certs rw
${STORAGE_PATH}/traefik/dynamic /dynamic ro

Networks

  • web (internal)

Security Options

  • no-new-privileges:true

Labels

Key Value
traefik.enable true
traefik.http.middlewares.dashboard-auth.basicauth.users ${DASHBOARD_BASIC_AUTH}
traefik.http.routers.dashboard.entrypoints websecure
traefik.http.routers.dashboard.middlewares dashboard-auth@docker
traefik.http.routers.dashboard.rule Host(dashboard.${DOMAIN})
traefik.http.routers.dashboard.service api@internal
traefik.http.routers.dashboard.tls true

Networks (compose-level)

  • web (external)