Fichier de configuration de Traefik
Fichier docker-compose.yml
Ce fichier se trouve dans le répertoire traefik:
version: '3' services: traefik: image: 'traefik:1.7-alpine' restart: 'always' ports: - '80:80' - '443:443' networks: web: volumes: #Le daemon docker va être au même endroit sur la machine #hôte et sur le conteneur - '/var/run/docker.sock:/var/run/docker.sock' - './dataTraefik/traefik.toml:/traefik.toml' - './dataTraefik/acme.json:/acme.json' - './dataTraefik/rules.toml:/rules.toml' container_name: 'traefik' labels: #Dire à Traefik de gérer ce conteneur, qu'il a #une redirection à faire traefik.enable: 'true' #Quelles adresses rediriger vers ce conteneur traefik.frontend.rule: 'Host:traefik.nolwenn.bobbyblues.com' #Sur quel port rediriger les connexions traefik.port: '8080' #Mettre le conteneur sur le réseau web/Passer par le réseau web traefik.docker.network: 'web' networks: web: #Le réseau existe déjà, pas besoin de le créer external: 'true'
Fichier traefik.toml
Ce fichier se trouve dans le répertoire traefik/dataTraefik:
defaultEntryPoints = ["http", "https"] [entryPoints] [entryPoints.dashboard] #Port d'exposition pour Traefik address = ":8080" #Port par défaut pour HTTP [entryPoints.http] address = ":80" #Rediriger le HTTP vers du HTTPS [entryPoints.http.redirect] entryPoint = "https" #Port par défaut pour HTTPS [entryPoints.https] address = ":443" #Dire quel chiffrement utiliser pour le HTTPS [entryPoints.https.tls] [api] entryPoint = "dashboard" [acme] email = "address@email.com" storage = "acme.json" entryPoint = "https" acmeLogging = true onHostRule = true [acme.httpChallenge] entryPoint = "http" [docker] #Traefik doit accéder aux autres conteneurs Docker et savoir ce qui existe endPoint = "unix:///var/run/docker.sock" domain = "bobbyblues.com" watch = true #Tous les conteneurs que l'on va vouloir exposer à l'extérieur doivent être dans le réseau 'web' network = "web" [retry] [web] address = ":8080"