This commit is contained in:
Fernandez Ludovic 2020-05-18 15:28:57 +02:00
parent b08c110c83
commit 55acaf53e9
2 changed files with 45 additions and 54 deletions

View File

@ -0,0 +1,43 @@
version: '3.7'
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.7.0
entrypoint: sh -c '
apk add jq
; 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:/letsencrypt
whoami:
image: containous/whoami
labels:
traefik.enable: true
traefik.frontend.rule: Host:example.com

View File

@ -56,6 +56,8 @@ You can use pre-compiled binaries:
docker run ldez/traefik-certs-dumper:<tag_name>
```
Example: [docker-compose](docs/docker-compose-traefik-v1.yml)
## Usage
- [traefik-certs-dumper](docs/traefik-certs-dumper.md)
@ -66,58 +68,6 @@ docker run ldez/traefik-certs-dumper:<tag_name>
**Note:** to dump data from Traefik v2, the CLI flag `--version v2` must be added.
### `docker-compose`
`docker-compose.yml`:
```yaml
version: '3'
services:
traefik:
image: traefik:1.7
command:
--entryPoints='Name:http Address::80'
--entryPoints='Name:https Address::443 TLS'
--defaultentrypoints=http,https
--logLevel=DEBUG
--docker
--docker.exposedByDefault=false
--acme
--acme.acmeLogging=true
--acme.entrypoint=https
--acme.storage=/data/acme.json
--acme.onHostRule=true
--acme.httpChallenge.entryPoint=http
ports:
- 8001:80
- 8002:443
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- .:/data
traefik-certs-dumper:
image: ldez/traefik-certs-dumper:v2.7.0
entrypoint: sh -c '
apk add jq
; 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:
- .:/data
whoami:
image: containous/whoami
labels:
traefik.enable: true
traefik.frontend.rule: Host:example.com
```
`traefik` ports are published to `8001` and `8002`. It's assumed here that you need certificates as separate files because you want to put `traefik` behind another proxy.
### Simple Dump
```console
@ -203,5 +153,3 @@ $ traefik-certs-dumper kv boltdb --endpoints /the/path/to/mydb.db
```console
$ traefik-certs-dumper kv zookeeper --endpoints localhost:2181
```