services: traefik: image: traefik:3.5.4 container_name: ${STACK_NAME?Variable not set}_traefik restart: unless-stopped env_file: - .env ports: - "80:80" - "8080:8080" labels: - traefik.enable=true - traefik.docker.network=proxy - traefik.constraint-label=proxy - traefik.http.services.${STACK_NAME?Variable not set}-proxy.loadbalancer.server.port=8080 - traefik.http.routers.${STACK_NAME?Variable not set}-proxy.rule=Host(`traefik.${DOMAIN?Variable not set}`) - traefik.http.routers.${STACK_NAME?Variable not set}-proxy.entrypoints=web command: # === Providers === - --providers.docker=true - --providers.docker.exposedbydefault=false - --providers.docker.network=proxy # === Entrypoints === - --entrypoints.web.address=:80 - --entrypoints.internal.address=:8000 # === API and Dashboard === - --api.dashboard=true - --api - --accesslog - --log volumes: - /var/run/docker.sock:/var/run/docker.sock:ro networks: - proxy networks: proxy: name: proxy