Nginx Proxy Manager per Docker installieren¶
Veröffentlicht am 22. August 2026 · Geschätzte Lesezeit: 5 Minuten
Nginx Proxy Manager leitet verständliche Domainnamen an Dienste im Heimnetz weiter und kann HTTPS-Zertifikate verwalten. Statt lange Nginx-Dateien von Hand zu schreiben, legst du Proxy- Hosts über eine Weboberfläche an. Installation und erster lokaler Proxy dauern etwa 20 Minuten.
Voraussetzungen
- Ein Linux-Server mit Docker und Docker Compose
- Die Ports 80, 81 und 443 sind auf dem Server frei
- Eine feste IP-Adresse für den Docker-Server
- Ein bereits erreichbarer Testdienst im Heimnetz
- Für öffentliche Zertifikate eine eigene Domain und korrekt gesetzte DNS-Einträge
1. Belegte Ports prüfen¶
Führe diesen Befehl auf dem Docker-Server aus. Er zeigt, ob bereits ein Dienst auf den drei benötigten TCP-Ports lauscht:
Bleibt die Ausgabe leer, sind die Ports frei. Läuft dort bereits Caddy, Apache, Nginx oder ein anderer Reverse-Proxy, stoppe die Anleitung und entscheide dich für genau einen Dienst, der die Ports 80 und 443 belegt.
2. Arbeitsordner anlegen¶
Dieser Befehl erstellt den Projektordner sowie die später dauerhaft genutzten Verzeichnisse:
3. Compose-Datei anlegen¶
Lege im Ordner ~/docker/nginx-proxy-manager eine Datei compose.yaml mit diesem Inhalt an:
services:
npm:
image: jc21/nginx-proxy-manager:2.15.1
container_name: nginx-proxy-manager
restart: unless-stopped
environment:
TZ: Europe/Berlin
ports:
- "80:80"
- "443:443"
- "81:81"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Der verwendete Image-Tag entspricht der zum Erstellungszeitpunkt in der offiziellen Anleitung
genannten Version. data enthält Datenbank und Einstellungen, letsencrypt die Zertifikate.
Port 81 bleibt Verwaltung
Port 81 ist nur für die Verwaltungsoberfläche gedacht. Leite ihn niemals im Router weiter und beschränke ihn per Firewall auf dein vertrauenswürdiges Heimnetz.
4. Konfiguration prüfen und starten¶
Prüfe im Projektordner zuerst die Compose-Syntax:
Starte Nginx Proxy Manager im Hintergrund:
Kontrolliere den Zustand des Containers:
Der erste Start kann einige Minuten dauern, weil Schlüssel und Datenbank angelegt werden. Bei Problemen zeigen die letzten Protokollzeilen die Ursache:
5. Erstanmeldung sofort absichern¶
Öffne im Heimnetz http://<server-ip>:81. Ersetze <server-ip> durch die feste IP-Adresse des
Docker-Servers. Bei einer frischen Installation lautet die Erstanmeldung admin@example.com
mit dem Passwort changeme.
Ändere nach der ersten Anmeldung sofort E-Mail-Adresse, Anzeigenamen und Passwort. Verwende ein langes, einmaliges Passwort und speichere es in einem Passwortmanager.
Standardzugang nicht weiterverwenden
Solange changeme funktioniert, kann jeder erreichbare Rechner die Verwaltung übernehmen.
Öffne deshalb keine Routerfreigabe, bevor das Administratorkonto geändert wurde.
6. Lokalen Proxy-Host anlegen¶
Lege zuerst im lokalen DNS oder Router einen Namen wie dienst.home.arpa an, der auf die
IP-Adresse von Nginx Proxy Manager zeigt. Die reservierte Domain home.arpa ist für Heimnetze
gedacht und wird nicht für öffentliche Zertifikate verwendet.
Öffne in Nginx Proxy Manager Hosts → Proxy Hosts → Add Proxy Host und trage ein:
- Domain Names:
dienst.home.arpa - Scheme:
httpoderhttps, passend zum Ziel - Forward Hostname / IP:
<ziel-ip> - Forward Port:
<ziel-port> - Block Common Exploits: aktivieren
Ersetze <ziel-ip> durch die IP des vorhandenen Dienstes und <ziel-port> durch dessen Port,
zum Beispiel 3000. Speichere den Eintrag und öffne danach http://dienst.home.arpa.
Keine Schleife erzeugen
Trage als Ziel nicht dieselbe Adresse mit Port 80 oder 443 ein, auf der Nginx Proxy Manager selbst lauscht. Das Ziel muss der eigentliche Dienst sein.
7. Öffentliches HTTPS nur bewusst einrichten¶
Für ein öffentlich gültiges Let's-Encrypt-Zertifikat muss die verwendete Domain auf deinen Internetanschluss zeigen und die Prüfung den Proxy erreichen. Öffne am Router nur die dafür benötigten Ports 80 und 443 und leite sie an den Docker-Server weiter. Port 81 bleibt geschlossen.
Wähle im Proxy-Host unter SSL Certificate ein neues Let's-Encrypt-Zertifikat, aktiviere Force SSL erst nach erfolgreicher Ausstellung und teste den Dienst über Mobilfunk.
Ein Zertifikat ist keine Zugriffskontrolle
HTTPS verschlüsselt die Verbindung, macht einen unsicheren Dienst aber nicht sicher. Nutze starke Anmeldungen, Mehrfaktor-Authentifizierung, regelmäßige Updates und möglichst ein VPN. Veröffentliche Verwaltungsoberflächen nur, wenn es wirklich nötig ist.
8. Backup und Rückweg anlegen¶
Stoppe den Container kurz, damit die SQLite-Datenbank während der Sicherung nicht verändert wird:
Erstelle im Projektordner ein datiertes Archiv aus Konfiguration und Zertifikaten:
Starte den Container wieder:
Prüfe, ob das Archiv lesbar ist:
Bewahre das Archiv verschlüsselt auf einem zweiten System auf. Zur Wiederherstellung stoppst du den Container, entpackst das Archiv in denselben Projektordner und startest den Stack erneut.
9. Aktualisieren¶
Prüfe vor einem Update die aktuell empfohlene Version in der offiziellen Anleitung und lege das
Backup aus Schritt 8 an. Ändere danach nur den Image-Tag in compose.yaml, lade das Image und
erstelle den Container neu:
Teste anschließend Anmeldung, lokalen Proxy und verwendete Zertifikate. Lösche die Ordner
data und letsencrypt nicht.
10. Typische Fehler¶
- Container startet nicht: Prüfe mit
sudo ss -ltnp | grep -E ':(80|81|443)\b', ob ein anderer Dienst die Ports belegt. - Proxy liefert 502 Bad Gateway: Kontrolliere Ziel-IP, Ziel-Port, Schema und die Firewall des Zielsystems.
- Domain öffnet die falsche Seite: Prüfe den lokalen oder öffentlichen DNS-Eintrag und leere den DNS-Cache des Clients.
- Zertifikat kann nicht erstellt werden: Prüfe, ob die öffentliche Domain korrekt auflöst und Ports 80 sowie 443 den Proxy erreichen.
- Anmeldung ist nach Neustart zurückgesetzt: Kontrolliere, ob weiterhin
./data:/dataeingebunden ist und du den richtigen Projektordner verwendest.
11. Quellen und Videos¶
- Offizielle Installationsanleitung von Nginx Proxy Manager
- Offizielle Anleitung für erweiterte Einstellungen
- Offizielles Projekt-Repository
- Video: Nginx Proxy Manager installieren und konfigurieren
- Video auf Deutsch: Nginx Proxy Manager per Docker
Fertig¶
Nginx Proxy Manager läuft jetzt im Heimnetz und leitet den ersten lokalen Namen an einen Dienst
weiter. Öffne http://dienst.home.arpa und danach http://<server-ip>:81. Funktionieren Ziel
und Verwaltung nach docker compose restart weiterhin, ist die dauerhafte Einrichtung korrekt.