2020-06-27 14:55:16 +02:00
|
|
|
version: '3'
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
traefik:
|
|
|
|
|
container_name: traefik
|
2020-06-27 16:47:01 +02:00
|
|
|
image: traefik:v2.2.1
|
2020-06-27 15:36:18 +02:00
|
|
|
command:
|
|
|
|
|
- --providers.docker=true
|
2020-06-27 17:38:40 +02:00
|
|
|
- --providers.docker.exposedbydefault=false
|
2020-06-27 15:45:25 +02:00
|
|
|
- --api.insecure # Don't do that in production
|
2020-06-27 17:38:40 +02:00
|
|
|
- --entrypoints.web.address=:80
|
2020-06-28 12:27:32 +02:00
|
|
|
- --entrypoints.websecure.address=:443
|
2020-06-28 12:49:38 +02:00
|
|
|
- --certificatesresolvers.letsencrypt.acme.email=${LETSENCRYPT_EMAIL}
|
|
|
|
|
- --certificatesresolvers.letsencrypt.acme.storage=/acme.json
|
|
|
|
|
- --certificatesresolvers.letsencrypt.acme.tlschallenge=true
|
2020-06-28 12:51:37 +02:00
|
|
|
labels:
|
2020-06-28 12:41:33 +02:00
|
|
|
# global redirect to https
|
2020-06-28 13:08:29 +02:00
|
|
|
- traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)
|
|
|
|
|
- traefik.http.routers.http-catchall.entrypoints=web
|
|
|
|
|
- traefik.http.routers.http-catchall.middlewares=redirect-to-https
|
2020-06-28 12:56:37 +02:00
|
|
|
# middleware redirect
|
2020-06-28 13:00:18 +02:00
|
|
|
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
|
2020-06-27 14:55:16 +02:00
|
|
|
ports:
|
|
|
|
|
- 80:80
|
2020-06-28 12:27:32 +02:00
|
|
|
- 443:443
|
2020-06-27 15:20:47 +02:00
|
|
|
- 8080:8080
|
2020-06-27 14:55:16 +02:00
|
|
|
networks:
|
2020-06-27 15:06:38 +02:00
|
|
|
- srv
|
2020-06-27 14:55:16 +02:00
|
|
|
restart: unless-stopped
|
|
|
|
|
volumes:
|
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
2020-06-28 13:08:29 +02:00
|
|
|
- ./acme.json:/acme.json
|