Guide de déploiement

Déployer vos applications avec Nginx Proxy Manager sur un VPS

Déployer sur un VPS Cloud →

Déploiement8 min de lecture

Déployer vos applications avec Nginx Proxy Manager sur un VPS

Nginx Proxy Manager (NPM) met une interface web claire au-dessus de Nginx pour gérer reverse proxies, domaines et certificats SSL sans éditer une seule ligne de configuration. C'est l'outil idéal pour exposer proprement plusieurs services sur un même VPS. Voici comment l'installer et le comparer aux solutions intégrées.

Pourquoi installer Nginx Proxy Manager sur votre VPS

Dès que vous hébergez plusieurs services sur un VPS (une API, un panneau d'admin, un Portainer, un n8n…), vous devez router chaque domaine vers le bon conteneur et gérer un certificat SSL pour chacun. Le faire à la main avec des fichiers de configuration Nginx et Certbot est fastidieux et source d'erreurs. Nginx Proxy Manager résout ce problème : depuis une interface web, vous créez un « Proxy Host » en indiquant un domaine, une cible interne (IP:port) et NPM génère automatiquement le certificat Let's Encrypt. Il gère aussi les redirections, les en-têtes personnalisés, les listes d'accès et les certificats wildcard. Contrairement à un PaaS, NPM ne déploie pas d'applications : c'est une brique d'infrastructure dédiée au routage HTTP/HTTPS, qui se place idéalement devant tous vos autres conteneurs.

Ce que Nginx Proxy Manager apporte

  • Création de reverse proxies en quelques clics, sans éditer de fichier Nginx.
  • Certificats Let's Encrypt automatiques, y compris wildcard via DNS challenge.
  • Gestion centralisée de tous vos domaines et sous-domaines depuis une interface unique.
  • Listes d'accès (Access Lists) pour protéger un service par mot de passe ou par IP.
  • Redirections, hôtes 404 et en-têtes personnalisés configurables visuellement.
  • Logs d'accès et d'erreur consultables par hôte, utiles pour le débogage.

Prérequis pour Nginx Proxy Manager

Nginx Proxy Manager est très léger : un VPS d'1 Go de RAM et 1 vCPU suffit amplement, car NPM ne fait que router le trafic vers vos autres conteneurs. Prévoyez 15 Go de disque SSD pour les certificats, la base SQLite et les logs. Docker et Docker Compose doivent être installés. Point crucial : NPM doit être le seul service à écouter sur les ports 80 et 443 du VPS, puisqu'il sert de point d'entrée unique pour tout le trafic web. Le port 81 est utilisé pour l'interface d'administration et ne doit jamais être exposé directement sur Internet. Faites pointer vos enregistrements DNS (A pour chaque domaine, ou wildcard pour le DNS challenge) vers l'IP du VPS avant de générer les certificats.

Nginx Proxy Manager face à Traefik

CritèreNginx Proxy ManagerTraefik
ConfigurationInterface web visuelle, aucun fichier à éditerFichiers YAML et labels Docker
Courbe d'apprentissageFaible, accessible aux débutantsPlus raide, orientée DevOps
SSL Let's EncryptAutomatique via l'interface, wildcard possibleAutomatique via configuration
Découverte de servicesManuelle (saisie IP:port)Automatique via labels Docker
Idéal pourQuelques services gérés à la mainEnvironnements dynamiques et nombreux conteneurs
Consommation RAMTrès faibleFaible
Logs par hôteConsultables dans l'interfaceVia stack de logs externe
Gestion des accèsAccess Lists intégrées (IP, mot de passe)Middlewares à configurer

Installer Nginx Proxy Manager et créer un proxy

01

Préparer le docker-compose

Sur le VPS, créez un dossier /opt/npm et un fichier docker-compose.yml déclarant l'image jc21/nginx-proxy-manager:latest, en mappant les ports 80, 443 et 81, avec des volumes pour ./data et ./letsencrypt.

02

Lancer le conteneur

Exécutez docker compose up -d. NPM démarre avec une base SQLite par défaut. L'interface d'administration devient accessible sur http://IP_DU_VPS:81.

03

Se connecter et sécuriser le compte admin

Connectez-vous avec les identifiants par défaut (admin@example.com / changeme), puis changez immédiatement l'email et le mot de passe. C'est une étape de sécurité non négociable avant toute exposition.

04

Créer un Proxy Host

Dans « Proxy Hosts », ajoutez un hôte : domaine app.mondomaine.ma, cible Forward Hostname (le nom du conteneur ou l'IP interne) et port. Activez « Block Common Exploits » et le support WebSocket si besoin.

05

Activer le SSL automatique

Dans l'onglet SSL du Proxy Host, choisissez « Request a new SSL Certificate », acceptez les conditions Let's Encrypt et activez « Force SSL ». NPM obtient et installe le certificat ; votre service est désormais accessible en HTTPS.

06

Protéger l'interface d'administration

Fermez le port 81 au pare-feu et créez un Proxy Host dédié pour accéder à l'admin via un domaine en HTTPS, protégé par une Access List. Ne laissez jamais le port 81 ouvert sur Internet.

Pour obtenir un certificat wildcard *.mondomaine.ma et couvrir tous vos sous-domaines d'un coup, utilisez le DNS challenge : dans l'onglet SSL, sélectionnez votre fournisseur DNS et fournissez une clé API. Connectez ensuite tous vos conteneurs (Portainer, n8n, vos applications) au même réseau Docker que NPM, afin de cibler chaque service par son nom de conteneur plutôt que par une IP : la configuration reste stable même si les adresses internes changent au redémarrage.

Centralisez vos domaines avec Nginx Proxy Manager

Un VPS Cloud ServOrbit prêt avec Docker vous permet d'installer Nginx Proxy Manager comme point d'entrée HTTPS unique et de router tous vos services avec un SSL automatique.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou écrivez à notre équipe — support en anglais, français et arabe.