Fichier de configuration de Traefik
Fichier docker-compose.yml
# docker-compose.yml version: "3.3" networks: web: external: "true" services: traefik: image: "traefik:v2.0" restart: "unless-stopped" container_name: "traefik" networks: - web ports: - "80:80" - "443:443" volumes: - "./data:/etc/traefik/" - "/var/run/docker.sock:/var/run/docker.sock"
Fichier data/traefik.yml
# data/traefik.yml entryPoints: web: address: ":80" web-secure: address: ":443" certificatesResolvers: letsencrypt: acme: email: "<email de contact>" storage: "/etc/traefik/acme.json" httpChallenge: entryPoint: web providers: file: filename: "/etc/traefik/middlewares.yml" docker: endpoint: "unix:///var/run/docker.sock" exposedByDefault: false network: web
Fichier data/middlewares.yml
# data/middlewares.yml http: middlewares: redirect: redirectScheme: scheme: https admin-auth: basicAuth: users: - "admin:$apr1$a1GBk512$7iY9nX7AAN7eC0PSkDV1D0" - "user:$apr1$pIEqNGcM$gxsdyrR0EiDvqeHj72d.g1"
Fichier docker-compose.yml pour un service whoami d'exemple
# whoami/docker-compose.yml version: 3 networks: web: external: "true" services: whoami: image: "containous/whoami" container_name: "whoami" networks: - web labels: - "traefik.enable=true" - "traefik.http.routers.web-whoami.rule=Host(`whoami.bobbyblues.com`)" - "traefik.http.routers.web-whoami.entrypoints=web" - "traefik.http.routers.web-whoami.middlewares=redirect@file" - "traefik.http.routers.web-secure-whoami.rule=Host(`whoami.bobbyblues.com`)" - "traefik.http.routers.web-secure-whoami.entrypoints=web-secure" - "traefik.http.routers.web-secure-whoami.tls=true" - "traefik.http.routers.web-secure-whoami.middlewares=admin-auth@file"