Nginx Proxy Manager
Nginx Proxy Manager (NPM) ist eine webbasierte Oberfläche zur Verwaltung von Reverse-Proxys mit Nginx. Damit kannst du Domains definieren, Traffic an interne Dienste weiterleiten und SSL-Zertifikate verwalten, ohne Konfigurationsdateien manuell bearbeiten zu müssen. Es eignet sich besonders gut für Homelabs und kleine selbst gehostete Umgebungen.
Persönliche Erfahrung
In der Praxis hat sich Nginx Proxy Manager als extrem zuverlässig erwiesen. Er läuft seit sehr langer Zeit auf einem kleinen, aber soliden Orbsmart Mini-PC, ohne dass er besondere Aufmerksamkeit benötigt. Das System wurde einmal eingerichtet und läuft seitdem problemlos. Es aktualisiert sich automatisch, startet wöchentlich neu und erstellt regelmäßige Backups via Restic und rclone (WebDAV) auf ein NAS. Diese Konfiguration zeigt, dass selbst bescheidene Hardware für eine stabile und wartungsarme Reverse-Proxy-Lösung völlig ausreicht.
Funktionen
- Web-Oberfläche zur Reverse-Proxy-Konfiguration
- Automatische Let’s Encrypt SSL-Zertifikate
- HTTP → HTTPS Weiterleitung
- Einfache Zugriffskontrolle
- Mehrere Domains und Hosts
- TCP/UDP Weiterleitung
- Zertifikatsverwaltung
Installation mit Docker
Voraussetzungen:
- Linux-System oder VM
- Docker und Docker Compose installiert
- Ports 80, 443 und 81 frei verfügbar
Ordner anlegen:
mkdir -p /opt/nginx-proxy-manager/data
mkdir -p /opt/nginx-proxy-manager/letsencrypt
cd /opt/nginx-proxy-manager
docker-compose.yml erstellen:
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
container_name: npm
restart: always
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Starten:
docker compose up -d
Web-Oberfläche:
http://<server-ip>:81
Erster Login
Standard-Zugangsdaten:
E-Mail: admin@example.com
Passwort: changeme
Du wirst aufgefordert, eine neue E-Mail-Adresse und ein neues Passwort zu vergeben.
Proxy Host hinzufügen
- Web-Oberfläche öffnen
- Zu „Proxy Hosts“ gehen
- Neuen Host hinzufügen
- Domain, Ziel-IP und Port eingeben
- Bei Bedarf WebSockets aktivieren
- Speichern
SSL-Zertifikate
- Proxy Host bearbeiten
- Reiter „SSL“ auswählen
- Let’s Encrypt Zertifikat anfordern
- „Force SSL“ und „HTTP/2“ aktivieren
Die Zertifikate werden automatisch verlängert.
Update durchführen
cd /opt/nginx-proxy-manager
docker compose pull
docker compose up -d
Backup
Sichere folgende Ordner:
/opt/nginx-proxy-manager/data/opt/nginx-proxy-manager/letsencrypt
Darin befinden sich die komplette Konfiguration und die Zertifikate.
Häufige Probleme
- Port-Konflikte: Ports 80 und 443 müssen frei sein
- Let’s Encrypt Fehler: DNS zeigt nicht auf den Server oder Ports sind nicht weitergeleitet
- Admin-Oberfläche nicht erreichbar: Firewall blockiert oder Container läuft nicht