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 Traefik?
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 Compose, Kubernetes, 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 traefikCréation du fichierdocker-compose.yml
docker-compose.ymlversion: "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
