I'm trying to set up a Traefik instance on Docker Swarm and getting the following issue:
unmarshal errors:
line 1: cannot unmarshal !!seq into map[string]interface {}
My traefik.yml:
entryPoints:
web:
address: ":80"
http:
redirections:
entryPoint:
to: web-secure
scheme: https
web-secure:
address: ":443"
log:
level: DEBUG
api:
insecure: true
dashboard: true
debug: true
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
certificatesResolvers:
letsencrypt:
acme:
email: "removed"
storage: "/acme.json"
dnsChallenge:
provider: "cloudflare"
delayBeforeCheck: 0
resolvers:
- "1.1.1.1:53"
- "1.0.0.1:53"
options:
apiToken: "removed"
My Docker Compose file:
version: '3.7'
services:
traefik:
image: traefik:v2.5
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--providers.docker.swarmmode=true"
- "--entrypoints.http.address=:80"
- "--entrypoints.https.address=:443"
- "--certificatesresolvers.letsencrypt.acme.dnschallenge=true"
- "--certificatesresolvers.letsencrypt.acme.dnschallenge.provider=cloudflare"
- "--certificatesresolvers.letsencrypt.acme.dnschallenge.delaybeforecheck=0"
- "--certificatesresolvers.letsencrypt.acme.email=removed"
- "--certificatesresolvers.letsencrypt.acme.storage=acme.json"
- "--configfile=/traefik.yml"
environment:
- CF_API_TOKEN=removed
- CF_API_EMAIL=removed
networks:
- traefik-net
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "/home/cinder/traefik/traefik.toml:/traefik.yml"
- "/home/cinder/traefik/acme.json:/acme.json"
deploy:
placement:
constraints:
- node.role == manager
whoami:
image: "containous/whoami"
networks:
- traefik-net
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`h.cinderithink.lol`) && Path(`/whoami`)"
- "traefik.http.routers.whoami.entrypoints=https"
- "traefik.http.routers.whoami.tls=true"
networks:
traefik-net:
driver: overlay