À quoi ça sert ?
Nginx Proxy Manager reçoit tout le trafic web et le redirige vers la bonne application, avec certificats HTTPS automatiques. Tout se configure en quelques clics dans une interface web, sans fichier de config.
Pour qui ?
Les débutants qui veulent mettre plusieurs applications en HTTPS sans toucher à un fichier de configuration.
Après l'installation
- Ouvrez http://IP_DU_SERVEUR:81 et créez le compte administrateur immédiatement.
- Pour chaque application, ajoutez un « Proxy Host » vers http://NOM_DU_CONTENEUR:PORT et cochez « Request a new SSL Certificate ».
- Une fois votre propre interface en HTTPS, fermez le port 81 au public (pare-feu) : il ne doit pas rester ouvert.
Le docker-compose
Exemple derrière Traefik, avec une explication sur chaque ligne. Pour l'adapter à votre cas (Nginx Proxy Manager, port local…), utilisez le générateur.
# docker-compose.yml : Nginx Proxy Manager
# Ce fichier décrit les « conteneurs » à lancer : chaque conteneur est une petite
# boîte isolée qui contient un programme. Lancez-le avec : docker compose up -d
services:
npm:
# Le programme à télécharger (l'« image »), avec sa version
image: jc21/nginx-proxy-manager:latest
container_name: nginx-proxy-manager
# Redémarre tout seul après une panne ou un redémarrage du serveur
restart: unless-stopped
# Réglages de l'application. Les valeurs ${...} viennent du fichier .env
environment:
TZ: Europe/Paris
# Dossiers du serveur partagés avec le conteneur (dossier_serveur:dossier_conteneur).
# Vos données sont stockées ici : ce sont ces dossiers qu'il faut sauvegarder.
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
# Ports ouverts sur le serveur (port_serveur:port_conteneur)
ports:
- "80:80"
- "443:443"
- "81:81"
# Réseau partagé avec vos applications pour pouvoir les joindre
networks:
- npm
networks:
npm:
name: npm