version: "3" services: traefik: image: "traefik:v2.2" container_name: traefik restart: always command: # - "--log.level=DEBUG" # - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" - "--entrypoints.websecure.address=:443" - "--certificatesresolvers.tls-resolver.acme.httpchallenge=true" - "--certificatesresolvers.tls-resolver.acme.httpchallenge.entrypoint=web" # - "--certificatesresolvers.tls-resolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory" - "--certificatesresolvers.tls-resolver.acme.email=marvin@marvinblum.de" - "--certificatesresolvers.tls-resolver.acme.storage=/letsencrypt/acme.json" ports: - "80:80" - "443:443" # - "8080:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - /root/marvinblum/letsencrypt:/letsencrypt marvinblum: image: kugel/marvinblum container_name: marvinblum restart: always depends_on: - traefik labels: - "traefik.enable=true" - "traefik.http.routers.marvinblum.entrypoints=web" - "traefik.http.routers.marvinblum.rule=Host(`marvinblum.de`)" - "traefik.http.routers.marvinblum.middlewares=http-redirect" - "traefik.http.routers.marvinblum-secure.entrypoints=websecure" - "traefik.http.routers.marvinblum-secure.rule=Host(`marvinblum.de`)" - "traefik.http.routers.marvinblum-secure.tls.certresolver=tls-resolver" - "traefik.http.middlewares.http-redirect.redirectscheme.scheme=https" - "traefik.http.middlewares.http-redirect.redirectscheme.permanent=true"