swarm_stack/traefik/docker-compose.yml
2019-06-04 22:58:42 +02:00

68 lines
1.9 KiB
YAML

version: '3.5'
services:
traefik:
image: traefik
environment:
- OVH_ENDPOINT=ovh-eu
- OVH_APPLICATION_KEY=key
- OVH_APPLICATION_SECRET=secret
- OVH_CONSUMER_KEY=key
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- traefik_conf:/etc/traefik
networks:
- traefik_network
command: >
--docker
--docker.swarmMode
--docker.domain=arnaud-pc.fr
--docker.watch
--api
--entryPoints='Name:http Address::80 Redirect.EntryPoint:https'
--entryPoints='Name:https Address::443 TLS'
--defaultentrypoints=http,https
--acme
--acme.storage=/etc/traefik/acme/acme.json
--acme.email=worldtocraft@gmail.com
--acme.entryPoint=https
--acme.onhostrule
--acme.dnschallenge
--acme.dnschallenge.provider=ovh
--insecureskipverify=true
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
labels:
- "traefik.frontend.auth.basic.usersFile=/etc/traefik/.htpasswd"
- "traefik.frontend.rule=Host:traefik.cloud.arnaud-pc.fr"
- "traefik.port=8080"
- "traefik.docker.network=dmz"
- "traefik.passHostHeader=true"
- "traefik.backend.loadbalancer.swarm=true"
- "traefik.backend.loadbalancer.method=drr"
- "traefik.enable=true"
certdumper:
image: ldez/traefik-certs-dumper
depends_on:
- traefik
volumes:
- traefik_conf:/traefik
command: file --source /traefik/acme/acme.json --dest /traefik/ssl/ --domain-subdir=true --crt-ext=.pem --key-ext=.pem
networks:
traefik_network:
name: dmz
driver: overlay
attachable: true
volumes:
traefik_conf:
driver: convoy