Nginx Proxy Manager donne un nom de domaine et du HTTPS à votre homelab en trois clics
Nginx Proxy Manager v2.14.0 transforme la configuration d’un reverse proxy en trois formulaires web et un clic sur Save. Let’s Encrypt, redirections et streams TCP/UDP inclus. Si Traefik vous intimide et Caddy vous ennuie, NPM est la réponse.
Février 2026, Nginx Proxy Manager sort sa v2.14.0 avec 33 700 étoiles GitHub. Mai 2026, le projet approche les 500 millions de pulls Docker. Juin 2026, une v2.15.1 consolide la base. Pendant ce temps, des milliers d’homelabs continuent de router http://192.168.1.42:8096 dans leurs favoris navigateur — parce qu’un reverse proxy, ça fait peur. Nginx Proxy Manager prouve que ça ne devrait pas.
Le reverse proxy est le hub de tout homelab qui se respecte. Sans lui, chaque service auto-hébergé vit sur son propre port, sans chiffrement, avec une adresse IP que personne ne retient. Avec lui, Jellyfin s’appelle media.votredomaine.fr, Home Assistant répond sur maison.votredomaine.fr, et chaque sous-domaine porte un certificat Let’s Encrypt renouvelé automatiquement. La différence entre un bricolage réseau et une infrastructure crédible tient à cette pièce.
Un reverse proxy, trois clics, zéro fichier de configuration
Nginx Proxy Manager (NPM) est l’œuvre de Jamie Curnow (jc21), qui l’a résumé d’une phrase restée célèbre dans le README du projet : « it had to be so easy that a monkey could do it ». Le projet prend Nginx — le serveur web et reverse proxy qui propulse un tiers d’Internet — et l’enveloppe dans une interface web construite sur Tabler. Le résultat : un reverse proxy qui se configure entièrement à la souris, sans toucher un fichier nginx.conf.
Le principe est radical. Ouvrez l’interface d’administration sur le port 81, remplissez trois champs — nom de domaine, IP du conteneur cible, port du service — et cliquez sur Save. NPM génère la configuration Nginx complète, active le SSL via Let’s Encrypt si vous cochez la case, et recharge le serveur sans interruption. Une opération qui prend vingt minutes dans un fichier de configuration texte prend trente secondes dans NPM. Et elle est reproductible : un proxy host se duplique, se modifie, se supprime depuis la même interface.
L’installation tient dans un docker-compose.yml de douze lignes :
services:
app:
image: 'jc21/nginx-proxy-manager:2.14.0'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt Trois ports seulement — 80 (HTTP), 443 (HTTPS), 81 (interface admin) — et deux volumes pour les données et les certificats. Pas de base de données externe à configurer : NPM embarque SQLite en interne. Le conteneur démarre, l’interface est accessible, et vous ajoutez votre premier proxy host dans la foulée.
Let’s Encrypt automatique — le vrai game changer
La fonctionnalité qui transforme NPM d’un nice-to-have en indispensable est l’intégration native de Let’s Encrypt. Cocher une case dans le formulaire du proxy host suffit : NPM génère un certificat via certbot, le renouvelle automatiquement avant expiration, et redirige le HTTP vers HTTPS si vous le demandez. Le tout sans cron job, sans script de renouvellement, sans surveillance.
Le DNS challenge est supporté pour les domaines wildcard (*.votredomaine.fr) via une dizaine de fournisseurs DNS — Cloudflare, DuckDNS, Route53, Porkbun, OVH, entre autres. Vous entrenez votre API token dans les paramètres du certificat, et NPM gère les enregistrements TXT pour la validation. Un wildcard Let’s Encrypt en production, en trois minutes chrono.
Pour les certificats personnalisés — un certificat wildcard acheté, un certificat interne d’autorité de certification privée — NPM accepte l’upload manuel avec la clé privée. Le renouvellement automatique ne s’applique pas dans ce cas, mais l’interface affiche la date d’expiration et prévient à l’approche de l’échéance.
Streams TCP/UDP, access lists et custom locations
NPM ne se limite pas aux proxys HTTP/HTTPS. La section Streams gère les redirections TCP et UDP — pratique pour exposer un serveur Minecraft (tcp/25565), un broker MQTT (tcp/1883) ou un service WireGuard (udp/51820) derrière votre IP publique sans toucher à la configuration du routeur au-delà du port forwarding initial.
Les Access Lists ajoutent une couche de sécurité granulaire. Vous créez une liste avec des règles — autoriser telle IP, refuser tel sous-réseau, satisfaire une authentification HTTP basique — et vous l’appliquez à un ou plusieurs proxy hosts. Une access list qui restreint l’accès à admin.votredomaine.fr aux IPs de votre LAN, c’est trois clics. La même logique appliquée à un service exposé publiquement, c’est une barrière efficace contre le scan automatisé.
Les Custom Locations vous donnent accès à toute la puissance de Nginx pour ceux qui en ont besoin. Vous définissez une location — un chemin d’URL spécifique — et vous lui injectez une configuration Nginx avancée en texte libre : headers personnalisés, règles de cache, proxy WebSocket, CORS, limitation de débit. Le champ est un éditeur de code avec coloration syntaxique, et NPM valide la configuration avant de recharger.
La gestion multi-utilisateurs distingue NPM des reverse proxies mono-fichier. Vous créez des comptes avec des permissions granulaires — administrateur, gestionnaire de ses propres proxy hosts, consultation seule — et un journal d’audit enregistre chaque modification. Dans un homelab partagé ou une petite équipe, le blame est une fonctionnalité sous-estimée.
NPM vs Traefik vs Caddy — choisir son camp sans se tromper
Le marché du reverse proxy auto-hébergé a trois acteurs majeurs en 2026. Chacun a son paradigme, et le choix dépend plus de votre rapport à la configuration que de la performance brute.
Traefik est le couteau suisse. Écrit en Go, il découvre automatiquement vos conteneurs Docker via les labels sur chaque service, reconfigure les routes en temps réel quand un conteneur démarre ou s’arrête, et propose un middleware extensible — rate limiting, circuit breaker, authentification OAuth, rewrites. La courbe d’apprentissage est réelle : Traefik se configure en YAML ou TOML, les labels Docker ont leur propre syntaxe, et le fichier traefik.yml d’une installation correcte dépasse facilement cent lignes avant le premier service exposé. C’est l’outil idéal pour un cluster Docker Swarm ou Kubernetes — et un overkill pour un homelab de trois conteneurs sur un Raspberry Pi.
Caddy est l’élégance minimaliste. Un binaire unique, une configuration en Caddyfile lisible comme de la prose (media.example.com { reverse_proxy localhost:8096 }), et le HTTPS automatique sans aucune configuration — Caddy obtient un certificat Let’s Encrypt dès qu’un nom de domaine est détecté. Pas de ports à mapper, pas de challenge DNS à configurer manuellement. La limite est que Caddy reste un outil text-first : pas d’interface graphique, pas de gestion multi-utilisateurs, pas d’access lists à la souris. Pour un développeur qui vit dans le terminal, c’est parfait. Pour quelqu’un qui veut juste que ça marche sans lire de documentation, c’est un fichier de configuration de plus à maintenir.
Nginx Proxy Manager occupe une niche précise : le GUI-first. Là où Traefik impose d’apprendre un DSL et Caddy demande d’écrire des fichiers, NPM remplace les deux par des formulaires. Le prix à payer est la flexibilité : pas d’auto-découverte des conteneurs, pas de reconfiguration dynamique sans redémarrage, pas de middleware programmable. Ce que vous perdez en puissance, vous le gagnez en accessibilité — et pour 90 % des homelabs, le feature set de NPM couvre déjà tous les besoins.
Ce que NPM ne fait pas — et ce n’est pas grave
NPM a des limites qu’il est honnête d’énoncer. Il ne fait pas d’auto-découverte de conteneurs : chaque service exposé doit être configuré manuellement dans l’interface. Si vous lancez et détruisez des conteneurs vingt fois par jour, Traefik vous fera gagner du temps. Il n’y a pas de rechargement dynamique natif quand un conteneur cible change d’IP — NPM recharge Nginx, ce qui prend une fraction de seconde mais constitue un micro-cut. La haute disponibilité n’est pas dans le scope : NPM est conçu pour une instance unique, et la documentation recommande de le faire tourner sur le même hôte que vos services.
Ces limites sont le corollaire de sa philosophie. NPM ne cherche pas à être le reverse proxy de Netflix — il cherche à être celui qui fait dire à un débutant « j’ai mon propre nom de domaine avec un cadenas HTTPS, et j’ai mis moins de temps à le configurer qu’à choisir le nom de domaine ».
Verdict
La question n’est pas « quel est le meilleur reverse proxy » — c’est « à quel moment de votre parcours vous situez-vous ».
Vous démarrez un homelab ou vous voulez exposer vos premiers services derrière un nom de domaine. Installez Nginx Proxy Manager. L’interface graphique élimine la barrière du fichier de configuration, Let’s Encrypt est à une case à cocher, et vous aurez un reverse proxy fonctionnel avant que le tutoriel Traefik ait fini d’expliquer les entrypoints. Partez du principe que vous remplacerez NPM quand vous aurez atteint ses limites — et pour la majorité des homelabs, ce jour n’arrive jamais.
Vous gérez un cluster Docker Swarm, Kubernetes, ou une flotte de conteneurs dynamiques. Traefik est votre outil. L’auto-découverte et la reconfiguration à chaud sont des fonctionnalités qui deviennent critiques à cette échelle, et NPM n’est pas conçu pour ce scénario.
Vous êtes à l’aise en ligne de commande et vous voulez le minimum de moving parts. Caddy est le choix le plus élégant. Un binaire, un fichier de dix lignes, HTTPS automatique. Mais vous renoncez à l’interface graphique et à la gestion multi-utilisateurs.
Nginx Proxy Manager réussit un exercice rare dans le self-hosting : abaisser la barrière d’entrée sans mutiler la puissance de l’outil qu’il encapsule. Sous le capot, c’est du Nginx — le même qui sert des milliards de requêtes par jour. Mais au lieu de vous demander d’apprendre sa syntaxe, il vous donne des formulaires. Votre homelab mérite des noms de domaine et du HTTPS. NPM les lui donne en trois clics — et ça change tout.
Références
- Nginx Proxy Manager — Site officiel
- Nginx Proxy Manager GitHub — NginxProxyManager/nginx-proxy-manager
- Nginx Proxy Manager v2.14.0 Release Notes — Février 2026
- Nginx Proxy Manager — Guide de démarrage
- Nginx Proxy Manager — Documentation complète
- Traefik — Site officiel
- Caddy — Site officiel
- selfh.st — Self-hosted content and software