Hello,
The dynamic configuration can be:
- labels
- files
- ...
The dynamic configuration from labels are not merged with dynamic configuration from another source.
https://docs.traefik.io/v2.1/getting-started/configuration-overview/#the-dynamic-configuration
So your dynamic configuration from label is incomplete.
Also, You mixed Traefik v1 and Traefik v2 configuration.
You don't need to use files.
version: "3.7"
services:
proxy:
image: traefik:v2.1.4
volumes:
# connect to docker socket for Traefik to listen to docker events
- "/var/run/docker.sock:/var/run/docker.sock:ro"
# Store certificates in ./letsencrypt/acme.json
- "./letsencrypt:/letsencrypt"
command:
- --log.level=DEBUG
- --entryPoints.web.address=:80
- --entryPoints.websecure.address=:443
- --entryPoints.staging.address=:3000
- --providers.docker.network=overlord_proxy
- --providers.docker.swarmMode=true
- --providers.docker.watch=true
- --certificatesResolvers.mytlschallenge.acme.email=email
- --certificatesResolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json
- --certificatesResolvers.mytlschallenge.acme.tlschallenge=true
networks:
- proxy
ports:
- "443:443"
- "80:80"
deploy:
replicas: 1
placement:
constraints:
- node.role == manager
whoami:
image: jwilder/whoami
networks:
- proxy
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.staging.rule=Host(`MYURL`)"
- "traefik.http.routers.staging.entrypoints=staging"
- "traefik.http.routers.staging.tls.certResolver=mytlschallenge"
- "traefik.http.services.staging.loadbalancer.server.port=8000"
networks:
proxy:
driver: overlay
Recommend read: