version: '3.9' networks: traefik-public: external: true configs: traefik_yml: external: true name: traefik.yml services: traefik: image: traefik:v3.6.1 ports: - "80:80" - "443:443" - "8080:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - /mnt/traefik/letsencrypt:/letsencrypt networks: - traefik-public environment: - DUCKDNS_TOKEN=14880437-fcee-4206-800a-af057cdfffe2 configs: - source: traefik_yml target: /etc/traefik/traefik.yml deploy: placement: constraints: - node.role == manager labels: - "traefik.enable=true" - "traefik.http.routers.traefik.rule=Host(`traefik.sj98.duckdns.org`)" - "traefik.http.routers.traefik.entrypoints=websecure" - "traefik.http.routers.traefik.tls.certresolver=leresolver" - "traefik.http.routers.traefik.service=api@internal" - "traefik.http.services.traefik.loadbalancer.server.port=8080" whoami: image: traefik/whoami networks: - traefik-public deploy: labels: - "traefik.enable=true" - "traefik.http.routers.whoami.rule=Host(`whoami.sj98.duckdns.org`)" - "traefik.http.routers.whoami.entrypoints=websecure" - "traefik.http.routers.whoami.tls.certresolver=leresolver" - "traefik.http.services.whoami.loadbalancer.server.port=80"