version: '3.3' services: reverse-proxy: image: traefik:1.7 command: - --defaultentrypoints=https,http - --api - --api.entryPoint=traefik - --api.dashboard=false - --debug=false - --entryPoints=Name:http Address::80 Redirect.EntryPoint:https - --entryPoints=Name:https Address::443 TLS - --logLevel=INFO - --accessLog.format=json - --docker - --docker.endpoint=unix:///var/run/docker.sock - --docker.domain=${DOCKER_DOMAIN} - --docker.swarmmode=true - --docker.watch=true - --docker.exposedbydefault=false - --acme.email=${ACME_EMAIL} - --acme.storage=/acme/acme.json - --acme.entryPoint=https - --acme.onHostRule=true - --acme.httpChallenge.entryPoint=http ports: - target: 80 published: 80 protocol: tcp mode: host - target: 443 published: 443 protocol: tcp mode: host volumes: - /var/run/docker.sock:/var/run/docker.sock - acmeData:/acme - tmp:/tmp networks: - traefik-net - external deploy: mode: global placement: constraints: - node.role == manager networks: external: traefik-net: driver: overlay external: true volumes: acmeData: tmp: ### Environment variables # DOCKER_DOMAIN # ACME_EMAIL