version: "3.9" services: traefik-reverse-proxy: image: traefik:v2.5 ports: - "80:80" - "443:443" environment: - "TZ=Asia/Shanghai" - LINODE_TOKEN=${LINODE_TOKEN} labels: - "traefik.enable=true" - "traefik.http.routers.traefik-dashboard.rule=Host(`traefik.esin.io`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))" - "traefik.http.routers.traefik-dashboard.tls=true" - "traefik.http.routers.traefik-dashboard.service=api@internal" - "traefik.http.routers.traefik-dashboard.middlewares=traefik-dashboard-auth" - "traefik.http.middlewares.traefik-dashboard-auth.basicauth.users=${AUTH_USER}:${AUTH_PASS}" - "traefik.http.middlewares.traefik-dashboard.compress=true" - "traefik.http.middlewares.traefik-dashboard.compress.excludedcontenttypes=text/event-stream" volumes: - ./traefik/acme.json:/etc/acme/acme.json - ./traefik/log:/var/log/traefik - ./traefik/config/dynamic.d:/etc/traefik/dynamic.d:ro - ./traefik/config/static.yml:/etc/traefik/traefik.yml:ro - /var/run/docker.sock:/var/run/docker.sock:ro networks: - traefik networks: traefik: external: true