5.4 KiB
5.4 KiB
title: Traefik created: 2026-06-06 updated: 2026-06-06 type: app tags: [catalogue, reverse-proxy, cloud-native, go, docker, auto-hebergement] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Reverse+Proxy, https://traefik.io/]
🚦 Traefik
Reverse proxy cloud-native : détecte automatiquement vos services Docker et génère les certs Let's Encrypt. Le standard pour les stacks Docker.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | traefik.io |
| GitHub | traefik/traefik |
| License | MIT |
| Langage | Go |
| Étoiles GitHub | 64k ⭐ |
| Dernière MAJ | 2026-06-05 |
| Catégorie | [[cat-reverse-proxy |
📝 Description
Traefik est le reverse proxy de référence pour les environnements Docker/Kubernetes. Ses forces :
- ✅ Auto-discovery des services via Docker labels ou K8s
- ✅ Let's Encrypt automatique (HTTP-01 ou DNS-01 challenge)
- ✅ Dashboard web intégré
- ✅ API REST pour introspection
- ✅ Hot reload : pas besoin de redémarrer pour changer la config
- ✅ Multi-providers : Docker, K8s, file, Consul, etcd...
- ✅ Middlewares : auth, rate-limit, headers, compression...
Différence avec Caddy : Caddy = config statique (Caddyfile). Traefik = config dynamique via Docker (ajouter un service = ajouter des labels, c'est tout).
🚀 Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
version: '3.8'
services:
traefik:
image: traefik:v3.0
container_name: traefik
restart: unless-stopped
command:
- "--api.dashboard=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.web.http.redirections.entryPoint.scheme=https"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.letsencrypt.acme.email=you@example.com"
- "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
- "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
ports:
- "80:80"
- "443:443"
- "8080:8080" # Dashboard
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- letsencrypt:/letsencrypt
networks:
- proxy
# Exemple : un service qui sera auto-découvert
whoami:
image: traefik/whoami
container_name: whoami
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`whoami.example.com`)"
- "traefik.http.routers.whoami.entrypoints=websecure"
- "traefik.http.routers.whoami.tls.certresolver=letsencrypt"
networks:
proxy:
name: proxy
volumes:
letsencrypt:
⚡ Pas besoin de recharger Traefik ! Le service
whoamiest détecté automatiquement.
Option 2 : Fichier de config statique
# traefik.yml
api:
dashboard: true
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
entryPoints:
web:
address: ":80"
http:
redirections:
entrypoint:
to: websecure
scheme: https
websecure:
address: ":443"
certificatesResolvers:
letsencrypt:
acme:
email: you@example.com
storage: /letsencrypt/acme.json
tlsChallenge: true
⚙️ Configuration Initiale
- Déployer Traefik (Docker Compose ci-dessus)
- Pour chaque service que vous voulez exposer :
labels: - "traefik.enable=true" - "traefik.http.routers.MONAPP.rule=Host(`monapp.example.com`)" - "traefik.http.routers.MONAPP.entrypoints=websecure" - "traefik.http.routers.MONAPP.tls.certresolver=letsencrypt" - Accéder au dashboard :
http://IP_DU_SERVEUR:8080
🔄 Alternatives
Open Source
- app-caddy — Plus simple pour config statique
- app-nginx-proxy-manager — GUI complète
- app-haproxy — Pour load balancing pur
- app-pangolin — Tunneling + proxy
Comparaison (voir aussi comparatif-reverse-proxy)
| Critère | Traefik | Caddy | Nginx Proxy Manager |
|---|---|---|---|
| Auto-discovery | ✅ | ❌ | ⚠️ Partiel |
| Let's Encrypt | ✅ | ✅ | ✅ |
| GUI | Dashboard | ❌ | ✅ Complète |
| Config | Labels/YAML | Caddyfile | GUI + fichiers |
| Public cible | DevOps | Débutants | Débutants |
| Performance | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
Propriétaires (ce que Traefik remplace)
- Cloudflare Pro (avec Workers)
- AWS ALB (Elastic Load Balancing)
- F5 BIG-IP (load balancer enterprise)
🔐 Sécurité
- Let's Encrypt : renouvellement automatique
- HTTP → HTTPS redirection automatique
- Rate limiting middleware
- IP Whitelisting middleware
- Basic Auth, Digest Auth intégrés
📚 Ressources
Pages Liées
- cat-reverse-proxy — Catégorie Reverse Proxy
- app-caddy — Concurrent
- recettes-docker-compose — Templates Traefik
- comparatif-reverse-proxy — Comparaison détaillée
- securisation-home-lab — Sécurité