Skip to content

🌐 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
E-Mail 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 Exploits aktiviert
  • [ ] SSL-Zertifikat erstellt
  • [ ] Force SSL aktiviert
  • [ ] 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