Files
selfhosting/traefik/docker-compose.traefik.yml
T

44 lines
1.8 KiB
YAML
Raw Normal View History

2021-11-01 19:10:42 +01:00
version: '3'
services:
traefik:
container_name: traefik
2021-11-06 15:58:13 +01:00
image: traefik:v2.5.3
2021-11-01 19:10:42 +01:00
command:
- --providers.docker=true
- --providers.docker.exposedbydefault=false
2021-11-06 15:58:13 +01:00
- --api.dashboard=false
2021-11-01 20:26:33 +01:00
- --entrypoints.http.address=:80
- --entrypoints.https.address=:443
2021-11-01 19:10:42 +01:00
- --certificatesresolvers.letsencrypt.acme.email=${LETSENCRYPT_EMAIL}
- --certificatesresolvers.letsencrypt.acme.storage=/acme.json
- --certificatesResolvers.letsencrypt.acme.dnsChallenge=true
- --certificatesResolvers.letsencrypt.acme.dnsChallenge.resolvers=1.1.1.1:53,8.8.8.8:53
- --certificatesresolvers.letsencrypt.acme.dnschallenge.provider=gandiv5
- --certificatesResolvers.letsencrypt.acme.dnsChallenge.delayBeforeCheck=0
# staging server
#- --certificatesresolvers.letsencrypt.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
environment:
- GANDIV5_API_KEY=${GANDIV5_API_KEY}
labels:
# request widlcard certificate
- traefik.http.routers.api.tls.certresolver=letsencrypt
- traefik.http.routers.api.tls.domains[0].main=${DOMAIN}
- traefik.http.routers.api.tls.domains[0].sans=*.${DOMAIN}
# global redirect to https
- traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)
2021-11-01 20:26:33 +01:00
- traefik.http.routers.http-catchall.entrypoints=http
2021-11-01 19:10:42 +01:00
- traefik.http.routers.http-catchall.middlewares=redirect-to-https
# middleware redirect
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
- traefik.http.middlewares.redirect-to-https.redirectscheme.permanent=true
ports:
- 80:80
- 443:443
networks:
- srv
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
2021-11-12 11:13:16 +01:00
- ${ROOT_INSTALL}/selfhosting/traefik/acme.json:/acme.json