mirror of
https://github.com/Kugelschieber/schnittfest.git
synced 2026-01-18 10:20:27 +00:00
Better traefik configuration.
This commit is contained in:
@@ -6,24 +6,35 @@ services:
|
|||||||
container_name: traefik
|
container_name: traefik
|
||||||
restart: always
|
restart: always
|
||||||
command:
|
command:
|
||||||
# - "--log.level=DEBUG"
|
|
||||||
# - "--api.insecure=true"
|
|
||||||
- "--providers.docker=true"
|
- "--providers.docker=true"
|
||||||
- "--providers.docker.exposedbydefault=false"
|
- "--providers.docker.exposedbydefault=false"
|
||||||
- "--entrypoints.web.address=:80"
|
- "--entrypoints.web.address=:80"
|
||||||
- "--entrypoints.websecure.address=:443"
|
- "--entrypoints.websecure.address=:443"
|
||||||
- "--certificatesresolvers.tls-resolver.acme.httpchallenge=true"
|
- "--certificatesresolvers.tls-resolver.acme.httpchallenge=true"
|
||||||
- "--certificatesresolvers.tls-resolver.acme.httpchallenge.entrypoint=web"
|
- "--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.email=contact@schnittfest.gmbh"
|
||||||
- "--certificatesresolvers.tls-resolver.acme.storage=/letsencrypt/acme.json"
|
- "--certificatesresolvers.tls-resolver.acme.storage=/letsencrypt/acme.json"
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
- "443:443"
|
- "443:443"
|
||||||
# - "8080:8080"
|
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
- /root/schnittfest/letsencrypt:/letsencrypt
|
- /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:
|
schnittfest:
|
||||||
image: kugel/schnittfest
|
image: kugel/schnittfest
|
||||||
container_name: schnittfest
|
container_name: schnittfest
|
||||||
@@ -32,11 +43,7 @@ services:
|
|||||||
- traefik
|
- traefik
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.schnittfest.entrypoints=web"
|
- "traefik.http.routers.schnittfest.rule=Host(`schnittfest.gmbh`) || Host(`www.schnittfest.gmbh`)"
|
||||||
- "traefik.http.routers.schnittfest.rule=Host(`schnittfest.gmbh`)"
|
- "traefik.http.routers.schnittfest.entrypoints=websecure"
|
||||||
- "traefik.http.routers.schnittfest.middlewares=http-redirect"
|
- "traefik.http.routers.schnittfest.tls=true"
|
||||||
- "traefik.http.routers.schnittfest-secure.entrypoints=websecure"
|
- "traefik.http.routers.schnittfest.tls.certresolver=tls-resolver"
|
||||||
- "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"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user