version: "3.9" networks: public: name: "public" external: false services: traefik: image: "traefik:latest" container_name: "traefik" command: - "--log.level=DEBUG" - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" - "--entrypoints.web.http.redirections.entryPoint.to=websecure" - "--entrypoints.websecure.address=:443" # Let's Encrypt - "--certificatesresolvers.le.acme.email=${CF_API_EMAIL}" - "--certificatesresolvers.le.acme.storage=/acme.json" # - "--certificatesresolvers.le.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory" - "--certificatesresolvers.le.acme.dnschallenge=true" - "--certificatesresolvers.le.acme.dnschallenge.provider=cloudflare" - "--certificatesresolvers.le.acme.dnschallenge.resolvers=1.1.1.1:53,8.8.8.8:53" environment: - CF_API_EMAIL=${CF_API_EMAIL} - CF_API_KEY=${CF_API_KEY} ports: - "80:80" - "443:443" - "8080:8080" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "./acme.json:/acme.json" networks: - "public"