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"