64 lines
1.3 KiB
YAML
64 lines
1.3 KiB
YAML
version: '3.3'
|
|
|
|
|
|
services:
|
|
reverse-proxy:
|
|
image: traefik
|
|
command:
|
|
- --defaultentrypoints=https,http
|
|
- --api
|
|
- --api.entryPoint=traefik
|
|
- --api.dashboard=false
|
|
- --debug=false
|
|
- --entryPoints=Name:http Address::80 Redirect.EntryPoint:https
|
|
- --entryPoints=Name:https Address::443 TLS
|
|
- --logLevel=INFO
|
|
- --accessLog.format=json
|
|
- --docker
|
|
- --docker.endpoint=unix:///var/run/docker.sock
|
|
- --docker.domain=${DOCKER_DOMAIN}
|
|
- --docker.swarmmode=true
|
|
- --docker.watch=true
|
|
- --docker.exposedbydefault=false
|
|
- --acme.email=${ACME_EMAIL}
|
|
- --acme.storage=/acme/acme.json
|
|
- --acme.entryPoint=https
|
|
- --acme.onHostRule=true
|
|
- --acme.httpChallenge.entryPoint=http
|
|
ports:
|
|
- target: 80
|
|
published: 80
|
|
protocol: tcp
|
|
mode: host
|
|
- target: 443
|
|
published: 443
|
|
protocol: tcp
|
|
mode: host
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- acmeData:/acme
|
|
- tmp:/tmp
|
|
networks:
|
|
- traefik-net
|
|
- external
|
|
deploy:
|
|
mode: global
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
|
|
networks:
|
|
external:
|
|
traefik-net:
|
|
driver: overlay
|
|
external: true
|
|
|
|
volumes:
|
|
acmeData:
|
|
tmp:
|
|
|
|
|
|
### Environment variables
|
|
# DOCKER_DOMAIN
|
|
# ACME_EMAIL
|