version: "3.8" volumes: traefik: name: ${TRAEFIK_VOLUME_NAME:-traefik} networks: traefik: name: ${TRAEFIK_NETWORK_NAME:-traefik} services: traefik: container_name: ${TRAEFIK_CONTAINER_NAME:-traefik} image: ${TRAEFIK_IMAGE:-traefik:v2.5.4} restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - traefik:/traefik - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - target: 80 published: 80 protocol: tcp mode: host networks: - traefik command: - --api.insecure=${TRAEFIK_API_INSECURE:-true} - --log.level=${TRAEFIK_LOG_LEVEL:-INFO} - --global.sendanonymoususage=${TRAEFIK_GLOBAL_SENDANONYMOUSUSAGE:-false} - --global.checknewversion=${TRAEFIK_GLOBAL_CHECKNEWVERSION:-false} - --pilot.dashboard=${TRAEFIK_PILOT_DASHBOARD:-false} - --metrics.prometheus=${TRAEFIK_METRICS_PROMETHEUS:-true} - --accesslog=${TRAEFIK_ACCESSLOG:-false} - --providers.docker - --providers.docker.exposedbydefault=false - --providers.docker.network=${TRAEFIK_NETWORK_NAME:-traefik} - --entryPoints.${TRAEFIK_ROUTER_NAME:-traefik}.address=:8080 - --entrypoints.${TRAEFIK_ENTRYPOINTS:-web}.address=:80 - --entryPoints.${TRAEFIK_ENTRYPOINTS:-web}.forwardedHeaders.insecure labels: - traefik.enable=true - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-traefik}.rule=Host(`${TRAEFIK_DOMAIN:?err}`) - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-traefik}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web} - traefik.http.services.${TRAEFIK_ROUTER_NAME:-traefik}.loadbalancer.server.port=8080