services: reverse-proxy: image: traefik:v3.1 command: - "--providers.docker" - "--providers.docker.exposedbydefault=false" - "--entryPoints.websecure.address=:443" - "--certificatesresolvers.myresolver.acme.tlschallenge=true" - "--certificatesresolvers.myresolver.acme.email=screenchok@gmail.com" - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" - "--entrypoints.web.address=:80" - "--entrypoints.web.http.redirections.entrypoint.to=websecure" - "--entrypoints.web.http.redirections.entrypoint.scheme=https" ports: - "80:80" - "443:443" volumes: - letsencrypt:/letsencrypt - /var/run/docker.sock:/var/run/docker.sock portfolio: labels: - "traefik.enable=true" - "traefik.http.routers.guestbook.rule=Host(`moshariri.com`)" - "traefik.http.routers.guestbook.entrypoints=websecure" - "traefik.http.routers.guestbook.tls.certresolver=myresolver" - "traefik.http.middlewares.forward-auth-headers.headers.customrequestheaders.X-Forwarded-For=true" - "traefik.http.middlewares.forward-auth-headers.headers.customrequestheaders.X-Real-IP=true" - "traefik.http.routers.guestbook.middlewares=forward-auth-headers" - "com.centurylinklabs.watchtower.enable=true" image: portfolio:prod restart: always volumes: letsencrypt: