C'EST QUOI ?
Traefik Manager est une interface web auto-hébergée pour piloter le reverse proxy Traefik : routes, services, middlewares, plugins, certificats, logs et CrowdSec. Le backend est en Flask, et l'outil écrit dans les fichiers de configuration dynamique de Traefik au lieu de les faire éditer à la main. Le README annonce la cible sans détour : les homelabbers qui aiment Traefik mais pas éditer du YAML à deux heures du matin.
L'outil ne modifie que les entrées du provider File, dans les fichiers YAML qu'on lui monte. Les routes déclarées par labels Docker, Kubernetes, Swarm ou Nomad apparaissent dans des onglets en lecture seule alimentés par l'API Traefik, qui doit donc être joignable.
POURQUOI C'EST INTÉRESSANT ?
- Routes HTTP, TCP et UDP : plusieurs domaines et backends par route, sessions persistantes, health checks, priorité, resolver de certificat et profil TLS par route. Le YAML est réécrit avec ruamel.yaml, qui conserve commentaires et templates Go.
- Services et middlewares : load balancer pondéré, mirroring ou failover, et 30 assistants de middleware (authentification, rate limiting, en-têtes, CORS, redirections, pages d'erreur), dont un modèle forward-auth pour Authelia. Les services écrits hors de l'outil restent en lecture seule tant qu'on ne les reprend pas explicitement.
- Carte des routes : une vue topologique qui suit chaque requête du point d'entrée au backend en passant par les middlewares, avec l'état de santé à chaque étape.
- Certificats : liste du contenu d'
acme.jsonavec dates d'expiration, certificats qu'aucun routeur ne sert et ceux dont le resolver a disparu de la config statique. La suppression demandeacme.jsonmonté en écriture et passe par une sauvegarde horodatée. - Surveillance en tâche de fond : santé des routes, expiration des certificats, activité CrowdSec et nouvelles versions, envoyées vers Discord, Slack, ntfy, Gotify, Telegram ou un webhook, même interface fermée.
- Multi-serveur : un agent en Go tourne à côté de chaque Traefik distant, et chaque onglet de l'interface bascule sur le serveur choisi, sans VPN ni SSH.
- Sauvegardes : copie horodatée avant chaque modification, et push optionnel vers un dépôt git avec historique, diffs et restauration.
L'éditeur de traefik.yml redémarre Traefik par un socket proxy, une « poison pill » ou un accès direct au socket Docker ; la doc recommande le socket proxy, qui limite les droits au redémarrage. Sans mot de passe ni OIDC, l'interface est ouverte à tous, avec un avertissement en rouge. Les secrets (TOTP, secrets OIDC, jetons git...) sont chiffrés avec Fernet, mais la clé est générée dans le même volume /app/config si OTP_ENCRYPTION_KEY n'est pas fourni.
Le dépôt a été créé en mars 2026 et la v1.15.0 est sortie le 1er octobre 2026, douzième version publiée depuis le 1er septembre. C'est la première à ne plus être seulement en anglais : elle est traduite, entre autres, en français. Un seul développeur signe l'essentiel des commits.
CAS D'USAGE
- Ajouter une route vers un nouveau service du homelab sans ouvrir le fichier
dynamic.yml. - Repérer d'un coup d'œil un backend tombé ou un certificat proche de l'expiration, et recevoir l'alerte sur ntfy ou Telegram.
- Piloter depuis une seule interface les instances Traefik de plusieurs machines grâce à l'agent.
- Garder un historique git de toute la configuration dynamique, avec retour arrière en un clic.
