🌐 Nginx Proxy Manager (NPM) Spickzettel
Der Nginx Proxy Manager (NPM) verarbeitet eingehenden Web-Traffic, übernimmt die SSL-Verschlüsselung mit Let's Encrypt und leitet Anfragen an interne Docker-Container weiter.
⚙️ Grundkonfiguration
| Einstellung | Wert |
|---|---|
| Docker-Netzwerk | web-network (extern angelegt) |
| HTTP Port | 80 |
| HTTPS Port | 443 |
| Web-Interface | 81 |
🚀 Neuen Proxy Host anlegen
1. Details Tab
Konfiguration eines neuen Proxy Hosts:
| Feld | Wert / Beispiel |
|---|---|
| Domain Names | subdomain.deine-domain.at |
| Scheme | http |
| Forward Hostname / IP | Container-Name (z. B. mkdocs, dozzle, dashy) |
| Forward Port | Interner Container-Port (z. B. 8000, 8080) |
| Block Common Exploits | ✅ Aktivieren |
2. SSL Tab
SSL-Zertifikat mit Let's Encrypt konfigurieren:
| Einstellung | Wert |
|---|---|
| SSL Certificate | Request a new SSL Certificate |
| Force SSL | ✅ Aktivieren |
| HTTP/2 Support | ✅ Aktivieren |
| Admin-E-Mail für Let's Encrypt Benachrichtigungen | |
| Terms of Service | ✅ Akzeptieren |
🔧 Wichtige Sonderkonfigurationen
🔄 Websockets Support
Für Anwendungen mit Live-Updates muss Websocket-Unterstützung aktiviert werden.
Beispiele:
- ✅ Dozzle
- ✅ Dashboards
- ✅ Live-Monitoring-Anwendungen
Aktivierung:
Proxy Host → Details → Websockets Support → Aktivieren
📦 Custom Nginx Configuration
Erweiterte Nginx-Konfigurationen können im Advanced Tab hinterlegt werden.
Beispiel: Upload-Limit erhöhen
Standardmäßig begrenzt Nginx die maximale Upload-Größe.
Erhöhung auf 100 MB:
client_max_body_size 100M;
🐳 Docker Routing Beispiel
Beispielhafte Weiterleitung:
Internet
│
▼
Nginx Proxy Manager
│
├── https://mkdocs.deine-domain.at
│ └── Container: mkdocs
│ Port: 8000
│
├── https://dozzle.deine-domain.at
│ └── Container: dozzle
│ Port: 8080
│
└── https://dashy.deine-domain.at
└── Container: dashy
Port: 8080
✅ Checkliste Proxy Host
- [ ] Domain zeigt auf den Server
- [ ] Container befindet sich im Netzwerk
web-network - [ ] Richtiger interner Container-Port eingetragen
- [ ]
Block Common Exploitsaktiviert - [ ] SSL-Zertifikat erstellt
- [ ]
Force SSLaktiviert - [ ] HTTP/2 aktiviert
- [ ] Websocket Support aktiviert (falls benötigt)
- [ ] Funktionstest über HTTPS durchgeführt
📌 Hinweise
- NPM benötigt Zugriff auf die Docker-Container über das gemeinsame Netzwerk.
- Der Forward Hostname sollte normalerweise der Docker Container Name sein, nicht
localhost. - Let's Encrypt Zertifikate werden automatisch erneuert.
- Änderungen im Advanced Tab sollten nur bei Bedarf vorgenommen werden.
Nginx Proxy Manager Docker Cheat Sheet