Files
2026-06-09 18:40:21 +02:00

8.9 KiB


title: Mantræ created: 2026-06-06 updated: 2026-06-06 type: app tags: [catalogue, reverse-proxy, traefik, ui, dns, go, svelte] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=Reverse+Proxy, https://github.com/MizuchiLabs/mantrae]

🚦 Mantræ

Web UI pour gérer la configuration dynamique de Traefik (routers, services, middlewares) avec intégration DNS automatique Cloudflare / PowerDNS / Technitium / Pi-hole. Inspiré de Nginx Proxy Manager et Pangolin, 100 % Traefik-native.

📋 Informations Générales

Champ Valeur
Site web mizuchilabs.github.io/mantrae
GitHub MizuchiLabs/mantrae
License MIT
Langage TypeScript (41.9 %), Svelte (34.3 %), Go (20.7 %)
Étoiles GitHub 491
Dernière MAJ 2026-04-14 (v0.8.9)
Catégorie [[cat-reverse-proxy

📝 Description

Mantræ (par MizuchiLabs, mainteneur @d34dscene) est un gestionnaire web de la configuration dynamique Traefik : il présente une UI propre (Svelte) pour créer routers, services, middlewares sans éditer de YAML, et intègre la gestion DNS automatique avec 4 providers (Cloudflare, PowerDNS, Technitium, Pi-hole) pour pousser les records en même temps que les routes.

⚠️ Note importante : Mantræ n'est pas un dashboard Traefik (il ne monitore pas l'état des routes). C'est un gestionnaire de configuration : Traefik se connecte à Mantræ pour fetcher sa dynamic config. La nuance est importante.

⚠️ Note de roadmap : depuis 2025, le développement a été transféré vers Tether (même équipe). Mantræ reste maintenu pour les correctifs mais les nouvelles features vont sur Tether.

Caractéristiques principales :

  • Web UI Svelte moderne, dark/light mode, ergonomique
  • Gestion routers : règles Host/Path/Headers, entrypoints, TLS
  • Gestion middlewares : rate-limit, basicauth, headers, redirect, stripPrefix, etc.
  • Gestion services : load balancer, weighted, mirroring
  • DNS auto : Cloudflare, PowerDNS, Technitium, Pi-hole (push du record A/CNAME quand un nouveau router est créé)
  • Agent mantraed : déploie un agent sur chaque host Docker qui synchronise les labels des containers vers Mantræ (alternative aux labels Docker classiques)
  • Authentification intégrée : user/password + sessions
  • API REST documentée (OpenAPI)
  • Binaire Go standalone : installation simple, pas de runtime Node requis en production

Public cible : utilisateurs de Traefik qui veulent une UI web dédiée pour gérer leur config sans dépendre de Docker labels exclusivement. Particulièrement adapté pour des setups non-Docker (Traefik en binaire natif sur VM) où l'auto-discovery Docker n'est pas utilisable.

🚀 Installation

Option 1 : Docker Compose (recommandé)

# docker-compose.yml
version: '3.8'
services:
  mantrae:
    image: ghcr.io/mizuchilabs/mantrae:latest
    container_name: mantrae
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./data:/data   # base SQLite + config
    environment:
      - TZ=Europe/Paris
    networks:
      - proxy

networks:
  proxy:
    external: true

Variante Traefik (exposer Mantræ derrière Traefik)

# docker-compose.yml (variante)
version: '3.8'
services:
  mantrae:
    image: ghcr.io/mizuchilabs/mantrae:latest
    container_name: mantrae
    restart: unless-stopped
    volumes:
      - ./data:/data
    environment:
      - TZ=Europe/Paris
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=proxy"
      - "traefik.http.routers.mantrae.rule=Host(`traefik.example.com`)"
      - "traefik.http.routers.mantrae.entrypoints=websecure"
      - "traefik.http.routers.mantrae.tls.certresolver=letsencrypt"
      - "traefik.http.services.mantrae.loadbalancer.server.port=8080"
      - "traefik.http.routers.mantrae.middlewares=auth@docker"
    networks:
      - proxy

networks:
  proxy:
    external: true

Option 2 : Binaire natif (install script)

curl -fsSL https://raw.githubusercontent.com/mizuchilabs/mantrae/main/install.sh | sh
mantrae --version
mantrae  # démarre le serveur

Configuration Traefik (statique) pour consommer Mantræ

# traefik.yml (statique)
providers:
  http:
    endpoint: "http://mantrae:8080/api/v1/traefik-config"
    pollInterval: 10s

Variante : agent mantraed pour la découverte Docker

# Sur chaque host avec Docker
version: '3.8'
services:
  mantraed:
    image: ghcr.io/mizuchilabs/mantraed:latest
    container_name: mantraed
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - MANTRAE_URL=https://traefik.example.com
      - MANTRAE_API_KEY=your-api-key

⚙️ Configuration Initiale

  1. Lancer Mantræ et accéder à http://YOUR_HOST:8080.
  2. Créer le compte admin au premier démarrage.
  3. Configurer un provider DNS (optionnel mais typique) : Cloudflare API token ou PowerDNS API.
  4. Configurer Traefik pour pointer sur http://mantrae:8080/api/v1/traefik-config.
  5. Créer un router depuis l'UI : Host, port backend, middlewares, DNS auto (si configuré).
  6. Créer un service (load balancer si multi-backend) ou laisser Mantræ le déduire du router.
  7. Attacher des middlewares (rate-limit, headers, etc.).
  8. Tester : un curl sur le host configuré doit renvoyer le service backend.

💡 Reset password oublié : mantrae reset --password newpassword

🔄 Alternatives

Open Source

  • app-traefik — UI native de Traefik (lecture seule)
  • app-nginx-proxy-manager — concurrent direct sur l'idée (UI complète Nginx)
  • app-pangolin — UI orientée tunnels/ressources, intègre Traefik
  • app-middleware-manager — concurrent direct (focus middlewares)
  • GloboDNS (DNS) — pas un proxy manager
  • Portainer (Docker) — orienté containers, pas proxy

Propriétaires (ce que Mantræ remplace)

  • Cloudflare Workers + Dashboard
  • AWS API Gateway (en partie)
  • Cloudflare Access (UI auth)
  • Kong Manager EE (édition enterprise)
  • Traefik Enterprise (abandonné)

Comparaison rapide

Critère Mantræ Middleware Manager Nginx Proxy Manager Pangolin
Reverse proxy Traefik Traefik Nginx Traefik (managé)
Routers/Services UI Partiel (Hosts) (Resources)
Middlewares UI (full) Partiel Limité
DNS auto (4 providers) Partiel
Agent Docker (mantraed)
Licence MIT MIT MIT Custom
Stabilité ⚠️ (v0.8, dev → Tether) (v4.5) (v2.x)

Verdict : Mantræ pour qui veut DNS auto + UI Traefik native + agent Docker dans un seul outil. Middleware Manager pour qui veut la gestion de middlewares la plus complète. Nginx Proxy Manager pour la stabilité long terme sur Nginx. Pangolin pour la couche tunnels + auth au-dessus.

⚠️ À surveiller : la transition vers Tether est en cours. Pour un nouveau projet, vérifier l'état de Tether vs Mantræ avant de partir.

🔐 Sécurité

  • Auth UI : user/password + sessions, obligatoire
  • API key mantraed : rotation possible depuis l'UI Mantræ
  • Bind sur localhost ou derrière reverse proxy HTTPS : ne pas exposer le port 8080 directement
  • DNS provider tokens : scope minimum (Zone:DNS:Edit par exemple sur Cloudflare, pas Global API Key)
  • Permissions ./data : chmod 700, backups réguliers (DB SQLite)
  • ⚠️ Mantræ écrit la config dynamique : un attaquant qui compromet l'UI peut rediriger tout le trafic → 2FA recommandé + restriction IP sur l'UI
  • HTTPS obligatoire : l'UI contient des secrets (API keys DNS)
  • Agent mantraed en ro sur le Docker socket : limiter la surface d'attaque

📚 Ressources

Pages Liées