42 lines
1.2 KiB
YAML
42 lines
1.2 KiB
YAML
services:
|
|
traefik:
|
|
image: traefik:v1.7
|
|
command:
|
|
- --logLevel=INFO
|
|
- --defaultEntryPoints=web,websecure
|
|
- "--entryPoints=Name:web Address::80 Redirect.EntryPoint:websecure"
|
|
- "--entryPoints=Name:websecure Address::443 TLS"
|
|
- --docker
|
|
- --docker.exposedByDefault=false
|
|
- --acme
|
|
- --acme.email=email@example.com
|
|
- --acme.caServer=https://acme-staging-v02.api.letsencrypt.org/directory
|
|
- --acme.entrypoint=websecure
|
|
- --acme.storage=/letsencrypt/acme.json
|
|
- --acme.onHostRule
|
|
- --acme.tlsChallenge
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ./letsencrypt:/letsencrypt
|
|
|
|
traefik-certs-dumper:
|
|
image: ldez/traefik-certs-dumper:v2.8.1
|
|
entrypoint: sh -c '
|
|
while ! [ -e /data/acme.json ]
|
|
|| ! [ `jq ".Certificates | length" /data/acme.json` != 0 ]; do
|
|
sleep 1
|
|
; done
|
|
&& traefik-certs-dumper file --watch
|
|
--source /data/acme.json --dest /data/certs'
|
|
volumes:
|
|
- ./letsencrypt:/data
|
|
|
|
whoami:
|
|
image: traefik/whoami:v1.8.1
|
|
labels:
|
|
traefik.enable: true
|
|
traefik.frontend.rule: Host:example.com
|