diff --git a/docker-compose.yml b/docker-compose.yml index 8114ade..6a96f22 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,24 +6,35 @@ services: 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=contact@schnittfest.gmbh" - "--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/schnittfest/letsencrypt:/letsencrypt + labels: + - "traefik.enable=true" + # Global redirection: http to https + - 'traefik.http.routers.http-catchall.rule=HostRegexp(`{host:(www\.)?.+}`)' + - "traefik.http.routers.http-catchall.entrypoints=web" + - "traefik.http.routers.http-catchall.middlewares=wwwtohttps" + # Global redirection: https (www.) to https + - 'traefik.http.routers.wwwsecure-catchall.rule=HostRegexp(`{host:(www\.).+}`)' + - "traefik.http.routers.wwwsecure-catchall.entrypoints=websecure" + - "traefik.http.routers.wwwsecure-catchall.tls=true" + - "traefik.http.routers.wwwsecure-catchall.middlewares=wwwtohttps" + # middleware: http(s)://(www.) to https:// + - 'traefik.http.middlewares.wwwtohttps.redirectregex.regex=^https?://(?:www\.)?(.+)' + - 'traefik.http.middlewares.wwwtohttps.redirectregex.replacement=https://$${1}' + - 'traefik.http.middlewares.wwwtohttps.redirectregex.permanent=true' schnittfest: image: kugel/schnittfest container_name: schnittfest @@ -32,11 +43,7 @@ services: - traefik labels: - "traefik.enable=true" - - "traefik.http.routers.schnittfest.entrypoints=web" - - "traefik.http.routers.schnittfest.rule=Host(`schnittfest.gmbh`)" - - "traefik.http.routers.schnittfest.middlewares=http-redirect" - - "traefik.http.routers.schnittfest-secure.entrypoints=websecure" - - "traefik.http.routers.schnittfest-secure.rule=Host(`schnittfest.gmbh`)" - - "traefik.http.routers.schnittfest-secure.tls.certresolver=tls-resolver" - - "traefik.http.middlewares.http-redirect.redirectscheme.scheme=https" - - "traefik.http.middlewares.http-redirect.redirectscheme.permanent=true" + - "traefik.http.routers.schnittfest.rule=Host(`schnittfest.gmbh`) || Host(`www.schnittfest.gmbh`)" + - "traefik.http.routers.schnittfest.entrypoints=websecure" + - "traefik.http.routers.schnittfest.tls=true" + - "traefik.http.routers.schnittfest.tls.certresolver=tls-resolver"