---
title: Nginx Proxy Manager
created: 2026-06-06
updated: 2026-06-06
type: app
tags: [catalogue, reverse-proxy, gui, nginx, typescript, beginner]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Reverse+Proxy, https://nginxproxymanager.com/]
---
# 🚦 Nginx Proxy Manager

> **Interface graphique pour gérer Nginx** comme reverse proxy. La solution parfaite pour les débutants qui veulent une GUI plutôt qu'un fichier de config.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [nginxproxymanager.com](https://nginxproxymanager.com/) |
| **GitHub** | [NginxProxyManager/nginx-proxy-manager](https://github.com/NginxProxyManager/nginx-proxy-manager) |
| **License** | MIT |
| **Langage** | TypeScript (frontend), Nginx (proxy) |
| **Étoiles GitHub** | 33k ⭐ |
| **Dernière MAJ** | 2026-06-04 |
| **Catégorie** | [[cat-reverse-proxy|Reverse Proxy]], Web Server |

## 📝 Description

**Nginx Proxy Manager (NPM)** est un **wrapper GUI** au-dessus de Nginx. Il permet de :

- ✅ **Ajouter des proxy hosts** via interface web (pas de fichier de config)
- ✅ **Gérer les certificts SSL** (Let's Encrypt automatique)
- ✅ **Redirections** (301/302)
- ✅ **Streams TCP/UDP** (depuis v2.10+)
- ✅ **Access lists** (whitelist/blacklist par IP)
- ✅ **User management** (multi-utilisateurs)
- ✅ **401 authentication** (basic auth) devant n'importe quel service
- ✅ **Nginx de base** toujours accessible (custom locations)

**Public cible** : **débutants**, sysadmins qui ne veulent pas éditer de YAML, ou équipes qui veulent **un admin GUI**.

## 🚀 Installation

### Docker Compose (recommandé)

```yaml
# docker-compose.yml
version: '3.8'
services:
  nginx-proxy-manager:
    image: jc21/nginx-proxy-manager:latest
    container_name: nginx-proxy-manager
    restart: unless-stopped
    ports:
      - "80:80"     # HTTP
      - "443:443"   # HTTPS
      - "81:81"     # Admin UI
    environment:
      DB_SQLITE_FILE: "/data/database.sqlite"
      DISABLE_IPV6: "true"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
```

### Configuration Initiale

1. **Accéder à l'admin** : `http://IP_DU_SERVEUR:81`
2. **Login par défaut** :
   - Email : `admin@example.com`
   - Password : `changeme`
3. **Changer immédiatement** le mot de passe
4. **Ajouter un Proxy Host** :
   - Domaines : `app.example.com`
   - Scheme : `http` ou `https`
   - Forward Hostname : `app-internal` (nom du conteneur)
   - Forward Port : `8080`
   - Activer "Block Common Exploits"
   - Activer "Websockets Support" si besoin
   - Onglet SSL : Request a new SSL Certificate (Let's Encrypt)

## ⚙️ Configuration Avancée

### Access Lists (whitelist IP)
- Proxy Hosts → Edit → Access List
- Créer une liste : "Home" = mes IPs
- Appliquer aux services sensibles

### Custom Nginx Config
- Onglet "Advanced" : permet d'ajouter des directives Nginx custom
- Exemple : `client_max_body_size 100M;` pour les uploads

## 🔄 Alternatives

### Open Source
- [[app-traefik]] — Auto-discovery (plus "DevOps")
- [[app-caddy]] — Plus simple pour config statique
- [[app-nginx-proxy]] — nginx-proxy (junior, sans GUI)
- **NPMplus** — Fork avec extras (geo-blocking, fail2ban)

### Comparaison NPM vs Traefik

| Critère | NPM | Traefik |
| :--- | :--- | :--- |
| GUI | ✅ Complète | Dashboard only |
| Auto-discovery | ❌ | ✅ |
| Let's Encrypt | ✅ | ✅ |
| Config | Via GUI | Labels Docker |
| Public cible | Débutants | DevOps |
| Access lists | ✅ Built-in | Middleware |
| Custom Nginx | ✅ | ❌ |

**Verdict** : 
- **NPM** si vous aimez les **GUI** et voulez un contrôle manuel
- **Traefik** si vous voulez que tout soit **automatique** (ajout de service = label)

### Propriétaires (ce que NPM remplace)
- **Cloudflare Pro** (en partie)
- **RunCloud**, **ServerPilot** (GUI de gestion Nginx payante)

## 🔐 Sécurité

- **SSL/TLS** moderne
- **Access lists** par IP
- **Block common exploits** (SQL injection, XSS basiques)
- **Authentification** (Basic, multi-users)

## 📚 Ressources

- [Documentation officielle](https://nginxproxymanager.com/setup/)
- [GitHub NginxProxyManager](https://github.com/NginxProxyManager/nginx-proxy-manager)
- [Communauté Discourse](https://community.nginxproxymanager.com/)

## Pages Liées
- [[cat-reverse-proxy]] — Catégorie Reverse Proxy
- [[app-traefik]] — Concurrent auto-discovery
- [[app-caddy]] — Concurrent simple
- [[securisation-home-lab]] — Sécurité
