Page cover

Traefik

Cette documentation vous guide à travers l'installation et la configuration de Traefik sur votre serveur, en expliquant comment utiliser Traefik pour appliquer un certificat SSL à une URL de conteneur

Qu'est-ce que Traefikarrow-up-right?

Traefik est un reverse proxy et un load balancer moderne conçu pour les microservices. Il est particulièrement bien adapté aux environnements dynamiques tels que Kubernetes, Docker, grâce à son intégration native avec ces plateformes. Traefik offre des fonctionnalités avancées comme le support du HTTP/2, des certificats SSL automatisés via Let's Encrypt ou d'autres fournisseurs, et une configuration dynamique basée sur des labels ou des annotations.

Prérequis

  • Un serveur avec Docker installé.

  • Accès à un domaine et capacité à modifier ses enregistrements DNS.

Déploiement (Facultatif)

Vous pouvez déployer Traefik de différentes manières, notamment via Docker Composearrow-up-right, Kubernetesarrow-up-right, ou directement avec un fichier de configuration Traefik. Pour cette documentation, nous utiliserons Docker Compose.

Étapes d'installation

Créer un réseau Docker

docker network create traefik

Création du fichierdocker-compose.yml

version: "3.7"

services:
  traefik:
    image: traefik:3.0.1
    container_name: traefik
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    volumes:
      #Monte le socket Docker pour que Traefik puisse interagir avec l'API
      - "/var/run/docker.sock:/var/run/docker.sock:ro" 
      # Monte le fichier de configuration principal de Traefik en lecture seule
      - "/var/volume/traefik/config/traefik.yaml:/etc/traefik/traefik.yaml:ro"
      # Monte le répertoire local contenant des configurations supplémentaires
      - "/var/volume/traefik/config/conf/:/etc/traefik/conf/"
      # Monte le répertoire local contenant des certificats supplémentaires
      - "/var/volume/traefik/config/certs/:/etc/traefik/certs/"    
    networks:
      # Définit le réseau Docker auxquel le conteneur doit être connecté.
      - traefik
    environment:
      # Définit la variable d'environnement pour le conteneur
      - CF_DNS_API_TOKEN=$CF_DNS_API_TOKEN

# Section définissant les réseaux utilisés par les services
networks:
  traefik:
    external: true

Création du fichier de configuration

Editer le ficher ou créer le fichier qui se trouve dans "/var/volume/traefik/config/traefik.yaml" ou dans un autre répertoire en fonction de votre configuration.

Cette configuration de Traefik est commentée afin d'expliquer chaque paramètre, ce qui aide à comprendre le rôle de chaque ligne dans la configuration de Traefik.

Démarrer Traefik

Utilisation pour appliquer le certificat SSL sur une URL de conteneur

Pour appliquer un certificat SSL à un conteneur spécifique, vous pouvez utiliser des labels dans le fichier docker-compose.yml de votre service Docker. Voici un exemple de configuration pour un conteneur watchtower:

Dans cet exemple, les labels de Docker sont utilisés pour configurer les routers HTTP et HTTPS pour le conteneur watchtower. Les labels expliquent à Traefik comment router le trafic et appliquer le certificat SSL via le resolver Cloudflare.

Mis à jour