Nous allons voir ensemble comment installer et configurer Nginx Proxy Manager sur un Raspberry Pi grâce à Docker, afin de bénéficier d’un proxy inverse simple à gérer avec un accès sécurisé en HTTPS. Vous découvrirez une méthode claire et reproductible, adaptée aux architectures ARM64 comme Raspberry Pi OS 64 bits, Debian ou Ubuntu ARM64. Notre tutoriel détaillé vous guidera pas à pas dans :
- La mise en place de la stack Docker avec Docker Compose
- La sécurisation de vos services auto-hébergés via des certificats SSL Let’s Encrypt
- La configuration intuitive de proxy hosts depuis l’interface web accessible en local
- Les vérifications indispensables pour valider l’accès sécurisé et l’intégrité des proxys
Ces étapes vous permettront d’accéder facilement à vos applications domestiques sous des domaines personnalisés, évitant les ports complexes, tout en profitant d’une protection automatisée. Passons sans tarder à l’installation et à la configuration complète.
A lire aussi : Comment Programmer sur Raspberry Pi depuis votre PC ou Mac avec VS Code : Guide Complet et Pratique
Pourquoi choisir Nginx Proxy Manager sur Raspberry Pi pour un proxy inverse sécurisé
Le rôle principal d’un proxy inverse est de recevoir les requêtes externes et de les rediriger vers le service approprié à l’intérieur de votre réseau local. Avec Nginx Proxy Manager, cette gestion se fait via une interface graphique conviviale, un atout majeur si vous hébergez plusieurs services Docker sur un Raspberry Pi. Au lieu de multiplier des accès par port, vous gérez vos applications par nom de domaine, toutes réunies derrière un point d’entrée unique en HTTPS.
Par exemple, des applications comme Home Assistant, Vaultwarden ou un NAS peuvent être exposées simplement avec un certificat Let’s Encrypt automatique. Cette solution ne remplace pas les sauvegardes ou les mécanismes d’authentification internes, mais rend la publication de vos services beaucoup plus accessible et sécurisée.
A lire en complément : Raspberry Pi : créez votre rempart de cybersécurité personnalisé avec WireGuard, Pi-hole et Unbound
Qu’est-ce qui rend Nginx Proxy Manager incontournable en 2026 ?
- Interface simple accélérant la configuration et la maintenance
- Support natif des certificats SSL gratuits et renouvellement automatique
- Interopérabilité idéale avec Docker, une technologie incontournable sur Raspberry Pi
- Une organisation des proxys en quelques clics sans éditer de fichiers de configuration complexes
Prérequis indispensables avant l’installation de Nginx Proxy Manager sur Raspberry Pi
Avant de démarrer, assurez-vous d’avoir les éléments clés suivants prêts, pour garantir un déploiement sans accroc. Vous pouvez vous référer au tableau ci-dessous pour valider votre environnement :
| Élément | Détails |
|---|---|
| Système | Raspberry Pi à jour avec Raspberry Pi OS 64-bit, Debian ARM64 ou Ubuntu ARM64 |
| Docker | Docker Engine et Docker Compose installés et fonctionnels |
| Réseau | IP locale stable sur le Pi avec les ports 80, 81 et 443 libres |
| Domaine | Nom de domaine configuré avec enregistrement A/AAAA pointant vers l’IP publique |
| Sécurité | Secrets uniques pour base de données et stack, sauvegarde prévue des volumes |
En cas d’usage local strict, un DNS interne peut suffire, mais pour le challenge Let’s Encrypt en HTTP, votre domaine doit être accessible publiquement sur le port 80. Un point crucial : ne publiez jamais le port 81 utilisé pour l’administration sur Internet.
Vérification de Docker et Docker Compose
Exécutez ces commandes pour contrôler les versions installées :
docker --versiondocker compose version
Si ces vérifications échouent, référez-vous à la documentation officielle Docker pour Debian afin d’installer correctement Docker et Compose. Assurez-vous aussi que votre utilisateur Raspberry Pi a bien les droits nécessaires pour exécuter Docker sans sudo.
Déploiement de Nginx Proxy Manager avec Docker Compose : configuration et démarrage
Nous utilisons Docker Compose pour piloter la création et le lancement de l’ensemble des conteneurs. Cette méthode assure une installation simplifiée et facilement reproductible. Voici les étapes précises :
- Créez un répertoire dédié sur votre Raspberry Pi :
mkdir -p ~/stacks/nginx-proxy-manager - Accédez à ce dossier :
cd ~/stacks/nginx-proxy-manager - Créez un fichier de configuration compose.yml avec votre éditeur préféré
Voici la configuration type à adapter en remplaçant tous les secrets par vos propres mots de passe robustes :
services:
app:
image: jc21/nginx-proxy-manager:latest
restart: unless-stopped
ports: ["80:80", "81:81", "443:443"]
environment:
DB_MYSQL_HOST: db
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: npm
DB_MYSQL_PASSWORD: VOTRE_SECRET
DB_MYSQL_NAME: npm
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
db:
image: jc21/mariadb-aria:latest
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: AUTRE_SECRET
MYSQL_DATABASE: npm
MYSQL_USER: npm
MYSQL_PASSWORD: VOTRE_SECRET
volumes:
- ./mysql:/var/lib/mysql
Pour lancer la stack, il faut exécuter :
docker compose up -dpour démarrer en arrière-plandocker compose pspour vérifier les conteneurs en marche
Notez qu’après le premier lancement, la base MariaDB peut mettre quelques instants à s’initialiser. Attendez que les deux conteneurs soient actifs avant de poursuivre.
Sécurisation et gestion de l’interface d’administration Nginx Proxy Manager
Accédez à l’interface d’administration sur http://IP_DU_PI:81 depuis votre réseau local. Les identifiants par défaut sont :
- Email : [email protected]
- Mot de passe : changeme
Changez-les immédiatement pour préserver la sécurité. Il est fondamental que ce port 81 ne soit pas ouvert depuis l’extérieur. On recommande d’ajouter un blocage via pare-feu si nécessaire afin de limiter l’accès à votre LAN uniquement.
L’interface permet de créer vos Proxy Hosts, gérer les certificats SSL Let’s Encrypt et appliquer la redirection forcée vers HTTPS.
Comment configurer un Proxy Host avec certificat HTTPS dans Nginx Proxy Manager
Pour publier une application, suivez ces étapes :
- Dans l’interface, rendez-vous dans Hosts → Proxy Hosts → Add Proxy Host.
- Indiquez le domaine, par exemple app.exemple.fr.
- Choisissez le protocole http et entrez l’IP locale du Raspberry Pi ou du service (par exemple 192.168.1.50) ainsi que son port (exemple : 8123 pour Home Assistant).
- Cochez l’option Block Common Exploits pour renforcer la sécurité.
- Activez WebSockets uniquement si l’application l’exige.
- Dans l’onglet SSL, sélectionnez la demande d’un certificat Let’s Encrypt, validez les conditions d’utilisation.
- Activez Force SSL pour que toutes les connexions soient automatiquement redirigées en HTTPS.
Gardez en tête que lorsque NPM et les services cibles tournent dans des conteneurs Docker séparés, privilégiez une IP fixe ou un réseau Docker externe pour assurer la stabilité des connexions. N’utilisez jamais une IP de conteneur dynamique.
Une fois configuré, testez l’accès depuis un autre appareil sur le réseau local avec l’URL HTTPS et vérifiez la validité du certificat. Vous devriez voir un cadenas vert indiquant un certificat valide délivré par Let’s Encrypt.
Dépannage des erreurs courantes et conseils pratiques pour Nginx Proxy Manager
Quelques conseils permettent d’éviter et résoudre les problèmes fréquents :
- Certificat refusé : Vérifiez que votre domaine est joignable publiquement sur le port 80, que votre fournisseur ne bloque pas ce port, et que vous n’êtes pas derrière un CGNAT.
- Erreur 502 Bad Gateway : Confirmez que l’IP et le port de l’application cible sont corrects et que le service est actif.
- Connexion en boucle : Analysez les paramètres proxy, notamment l’utilisation des en-têtes et WebSockets requis par l’application cible.
Consultez les logs du conteneur pour identifier les soucis via :
docker compose logs --tail=100 app
Ce retour vous guide vers une résolution rapide. Les sauvegardes régulières des volumes data, letsencrypt et mysql sont indispensables, afin de préserver vos configurations et certificats en cas de besoin.
Options alternatives et limites de Nginx Proxy Manager pour l’auto-hébergement en 2026
Pour un usage personnel avancé, vous pouvez limiter l’ouverture des ports publics grâce à des VPN comme Tailscale ou WireGuard, qui assurent un accès sécurisé sans passer par Internet directement. Nginx Proxy Manager reste néanmoins très performant pour exposer plusieurs services via des noms de domaine sécurisés.
Si vous préférez une approche plus déclarative et sans interface graphique, des outils comme Caddy ou Traefik, réputés pour leur configuration par fichier unique et automatisation du HTTPS, sont recommandés. Ils demandent cependant une maîtrise accrue du YAML ou des fichiers de configuration.
| Outil | Type de configuration | Public / Local | HTTPS Automatique | Interface graphique |
|---|---|---|---|---|
| Nginx Proxy Manager | Interface graphique | Public et Local | Oui | Oui |
| Caddy | Déclarative YAML | Public, Local possible | Oui | Non |
| Traefik | Déclarative YAML | Public, Local possible | Oui | Non |
Enfin, pour le Raspberry Pi, un modèle 4 en version 64 bits suffit pour la plupart des cas domestiques. Attention à investir dans un stockage fiable et une connexion filaire pour la meilleure stabilité.




