version: '3' networks: web: external: true services: reverse-proxy: # The official v2 Traefik docker image image: traefik:v2.5 # Enables the web UI and tells Traefik to listen to docker command: - "--log.level=DEBUG" - "--api.insecure=true" - "--providers.docker" - "--entryPoints.web.address=:80" - "--entryPoints.websecure.address=:443" - "--entrypoints.web.http.redirections.entryPoint.to=websecure" - "--entrypoints.web.http.redirections.entryPoint.scheme=https" - "--entrypoints.web.http.redirections.entrypoint.permanent=true" - "--certificatesResolvers.le.acme.email=ssl@kekskurse.de" - "--certificatesResolvers.le.acme.storage=/letsencrypt/acme.json" - "--certificatesResolvers.le.acme.tlsChallenge=false" - "--certificatesResolvers.le.acme.httpChallenge=true" - "--certificatesResolvers.le.acme.httpChallenge.entryPoint=web" networks: - web ports: # The HTTP port - "80:80" - 443:443 # The Web UI (enabled by --api.insecure=true) - "8080:8080" volumes: # So that Traefik can listen to the Docker events - /var/run/docker.sock:/var/run/docker.sock - ./letsencrypt:/letsencrypt