Technical Anshu Startseite › Tutorials › Installation des Nginx Proxy Managers
🐳 Docker Reverse Proxy

Nginx Proxy Manager-Installation – 2-minütige Einrichtungsanleitung

Ihre Dienste befinden sich derzeit unter hässlichen Adressen wie 192.168.1.50:8080. Nginx Proxy Manager wandelt sie in saubere Namen wie app.yourdomain.com mit kostenlosem HTTPS um – installiert mit einer Docker Compose-Datei und verwaltet über ein einfaches Web-Panel statt handgeschriebener Konfigurationsdateien.

✍️ Technical Anshu🐳 Docker Compose🎧 Multi-Language Audio
Nginx Proxy Manager-Installation – 2-minütige Einrichtungsanleitung
🎧 Mehrsprachiges Audio: Klicken Sie im Videoplayer auf [Einstellungen] (⚙️) ➔ [Audiospur], um Ihre Sprache auszuwählen.

📑Kapitel

  1. Was ein Reverse-Proxy macht – eine Tür für alle Ihre Dienste
  2. Was Sie vor dem Start benötigen: Docker, eine Domäne und erreichbare Ports
  3. Verweisen Sie Ihr Domain-DNS auf den Server, bevor Sie etwas installieren
  4. Erstellen Sie den Ordner und die Datei „docker-compose.yml“
  5. Starten Sie Nginx Proxy Manager mit einem Befehl
  6. Erste Anmeldung – der Schritt des Administratorkontos, den jeder falsch macht
  7. Erstellen Sie Feld für Feld Ihren ersten Proxy-Host
  8. Holen Sie sich das kostenlose Lets Encrypt HTTPS-Zertifikat und aktivieren Sie „SSL erzwingen“

📋 Übersicht und Schritt-für-Schritt-Anleitung

1

Was Sie vor dem Start benötigen

Drei Dinge müssen vorhanden sein, bevor Nginx Proxy Manager (NPM) funktionieren kann. Erstens ein Linux-Server oder PC, auf dem Docker und Docker Compose bereits installiert sind und funktionieren – NPM läuft als Container, nicht als normales Programm. Zweitens ein Domainname, dessen DNS Sie bearbeiten können, da jeder Dienst eine eigene Subdomain erhält. Drittens muss Ihr Router oder Ihre Cloud-Firewall in der Lage sein, die Ports 80 und 443 an diesen Computer weiterzuleiten.

📌 Zu den „2 Minuten“ im Titel: Der Container-Start selbst geht wirklich schnell – aber erst, wenn Docker bereits installiert ist und die Vorbereitung in dieser Anleitung abgeschlossen ist. Planen Sie auf einem neuen Computer ausreichend Zeit für die Einrichtungs-, DNS- und Zertifikatsschritte ein. die ehrliche Summe ist länger als zwei Minuten.
⚠️ Bei einer Heimverbindung hinter CGNAT funktioniert die Portweiterleitung überhaupt nicht – keine Einstellung in NPM behebt das. Die ehrlichen Optionen sind dann eine öffentliche/statische IP von Ihrem ISP, ein kleiner gemieteter VPS oder stattdessen ein Tunnel-Tool. Überspringen Sie diese Prüfung nicht: Die Hälfte aller „NPM funktioniert nicht“-Storys sind in Wirklichkeit „Die Ports haben den Server nie erreicht“-Storys.
2

Richten Sie Ihr Domain-DNS zuerst auf den Server

NPM leitet den Datenverkehr nach Namen weiter und Lets Encrypt stellt Zertifikate nur für Namen aus, die nachweislich auf Ihren Computer verweisen – der Name muss also aufgelöst werden, bevor Sie etwas darauf aufbauen. Fügen Sie bei Ihrem Registrar oder DNS-Host einen A-Eintrag hinzu: Der Name ist nur das Subdomain-Wort (z. B. app) und der Wert ist die öffentliche IP-Adresse Ihres Servers. Jeder Dienst erhält seinen eigenen Eintrag und alle können auf dieselbe IP verweisen. NPM trennt die Dienste später nach Namen. Stellen Sie beim Testen eine kurze TTL ein, z. B. 300 Sekunden, damit Fehler in Minuten statt in Stunden verschwinden.

Beweisen Sie es, bevor Sie fortfahren: Überprüfen Sie, ob der Name von einem externen Netzwerk (z. B. von Ihrem Telefon mit ausgeschaltetem WLAN) in Ihre öffentliche IP-Adresse aufgelöst wird. Das Anfordern eines Zertifikats gegen defektes DNS ist eine Verschwendung von Lets-Encrypt-Versuchen, und wiederholte Fehler können Ihre Geschwindigkeit stundenlang einschränken. Die Reihenfolge ist wichtig: DNS zuerst, Proxy-Host dann, Zertifikat drittens.

3

Erstellen Sie den Ordner und die Compose-Datei

Erstellen Sie einen Ordner für NPM auf dem Server und speichern Sie die Datei unten darin als docker-compose.yml. Diese einzelne Datei ist die vollständige Installation. Der Bildname ist das offizielle Community-Bild. Die Ports 80 und 443 sind die öffentlichen Türen, Port 81 ist das Admin-Panel und auf den beiden Volumes befindet sich Ihr gesamtes Setup: ./data enthält die Datenbank mit allen Ihren Proxy-Hosts und ./letsencrypt enthält Ihre Zertifikate. Wenn Sie diese beiden Ordner verlieren, verlieren Sie das gesamte Setup. Sichern Sie sie, sobald die Dinge ausgeführt werden.

docker-compose.yml
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '443:443'
      - '81:81'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

Die Zeile restart: unlimited bringt NPM nach einem Neustart automatisch zurück.

4

Starten Sie den Nginx-Proxy-Manager

Führen Sie in diesem Ordner den Startbefehl aus. Docker lädt das Image herunter und startet den Container im Hintergrund.

Terminal
docker compose up -d

Überprüfen Sie, ob es läuft:

Terminal
docker ps

Sie sollten den Container mit den Ports 80, 443 und 81 aufgelistet sehen. Auf einem kleinen Server dauert der erste Start ein bis zwei Minuten, während die Datenbank erstellt wird. Wenn der Container immer wieder neu startet, zeigen die Protokolle den Grund im Klartext an:

Terminal
docker compose logs

In neun von zehn Fällen handelt es sich bei einer Neustartschleife um einen Port, der bereits von etwas anderem auf dem Host verwendet wird – normalerweise einem alten, noch laufenden Webserver.

5

Erster Login – Sichern Sie sofort das Admin-Konto

Öffnen Sie das Admin-Panel in einem Browser in Ihrem eigenen Netzwerk:

Browser Address Bar
http://your-server-ip:81

Tun Sie dies in der ersten Minute. Abhängig vom Build fordert NPM Sie entweder dazu auf, die bekannten Administratordaten für die erste Anmeldung durch Ihre eigene E-Mail-Adresse und ein sicheres Passwort zu ersetzen, oder – bei neueren Builds ohne Standardkonto – erstellt die erste Person, die die Admin-Seite öffnet, den Administrator. In jedem Fall ist die Regel dieselbe: Richten Sie Ihr eigenes Administratorkonto ein, sobald der Container gestartet wird, bevor Sie etwas anderes erstellen, und verwenden Sie ein echtes Postfach – NPM-E-Mails, die sich mit Zertifikatproblemen befassen.

⚠️ Lassen Sie Port 81 niemals öffentlich erreichbar, während Sie es „später fertigstellen“. Jeder im Internet, der das Panel zuerst findet, besitzt Ihren Proxy. Behalten Sie das Admin-Panel nur in Ihrem eigenen Netzwerk.
6

Erstellen Sie Ihren ersten Proxy-Host

Öffnen Sie in NPM Hosts → Proxy-Hosts → Proxy-Host hinzufügen und füllen Sie das Formular als einen Satz aus – „Dieser Name geht an diesen internen Dienst“:

Domänennamen: app.yourdomain.com – der genaue öffentliche Name aus Schritt 2, der bereits auf Ihren Server aufgelöst werden muss.
Schema: http für die meisten Heim- und Büro-Apps. Das Schema beschreibt die Verbindung zwischen NPM und dem internen Dienst, nicht die Nutzung durch Besucher – NPM übernimmt die öffentliche Verschlüsselung an der Tür. Wählen Sie hier https nur aus, wenn die interne App selbst HTTPS bereitstellt.
Hostname/IP weiterleiten: die interne Adresse des Dienstes, zum Beispiel 192.168.1.50.
Weiterleitungsport: der Port, auf dem der Dienst tatsächlich lauscht, zum Beispiel 8080 – nicht 80 oder 443; Das sind die Türen von NPM, nicht die des Dienstes.

Aktivieren Sie Häufige Exploits blockieren und dann Speichern. Testen Sie es sofort, indem Sie den Namen in einem Browser öffnen – idealerweise auf Ihrem Telefon mit ausgeschaltetem WLAN, damit Sie den echten öffentlichen Pfad testen.

✅ Ein 502 Bad Gateway von NPM ist ein Wegweiser, kein Fehler: Es bedeutet, dass die Außenwelt NPM perfekt erreicht hat und nur der letzte interne Hop – Hostname oder Port – falsch ist. Korrigieren Sie dieses Feld, nicht das gesamte Setup. Noch eine Falle: Wenn der Dienst in einem anderen Docker-Container ausgeführt wird, ist localhost falsch (im NPM-Container bedeutet localhost NPM selbst) – verwenden Sie die LAN-IP des Servers mit dem veröffentlichten Port oder stellen Sie beide Container in dasselbe Docker-Netzwerk und verwenden Sie den Containernamen.
7

Holen Sie sich das kostenlose Lets Encrypt HTTPS-Zertifikat

Tun Sie dies erst, wenn der einfache Host aus Schritt 6 bereits funktioniert. HTTPS auf einem defekten Host liefert Ihnen einen defekten Host mit einem Zertifikat und doppelt so vielen Stellen, an denen Sie nach dem Fehler suchen können. Öffnen Sie denselben Proxy-Host, gehen Sie zur Registerkarte SSL, stellen Sie SSL-Zertifikat auf Neues SSL-Zertifikat anfordern ein, aktivieren Sie SSL erzwingen und HTTP/2-Unterstützung, stimmen Sie den Nutzungsbedingungen von Lets Encrypt zu und speichern Sie. Laden Sie die Seite neu – der Browser sollte nun das Vorhängeschloss auf https anzeigen.

So funktioniert es: Lets Encrypt beweist, dass Sie den Namen kontrollieren, indem es Ihren Server über das öffentliche Internet an Port 80 auffordert, ein einmaliges Token anzuzeigen (die HTTP-01-Challenge). Aus diesem Grund sind DNS, die auf Sie zeigt, und ein erreichbarer Port 80 nicht verhandelbar. Wenn einer von beiden fehlschlägt, schlägt die Anfrage fehl, und der Fehler liegt im Setup, niemals in Lets Encrypt. SSL erzwingen leitet jeden http-Besucher automatisch zu https weiter; ohne sie bleibt die unverschlüsselte Tür neben der verschlüsselten offen.

📌 Zertifikate sind 90 Tage lang gültig und NPM erneuert sie automatisch, normalerweise etwa einen Monat vor Ablauf, unter Verwendung desselben Port-80-Nachweises. Sollte eine Verlängerung jemals fehlschlagen, prüfen Sie zunächst die langweiligen Ursachen: DNS wurde geändert, die Router-Weiterleitung wurde entfernt oder Port 80 wurde blockiert. Aktivieren Sie HSTS erst, wenn ein Dienst abgeschlossen ist und Verlängerungen nachgewiesen wurden – ein starkes Versprechen, an das sich Browser monatelang erinnern.

🏷️Themensuchvariablen und Schlüsselwörter

🔍 Nginx Proxy Manager 🔍 Reverse Proxy 🔍 Docker Compose 🔍 Lets Encrypt 🔍 Free HTTPS 🔍 Proxy Host 🔍 TechnicalAnshu 🔍 Self Hosting 🔍 Subdomain Setup 🔍 Port 80 443 81 🔍 Force SSL 🔍 Home Server
🎙️ Vollständiges Transkript – zum Erweitern antippen

__TOK_34__

__TOK_35__

__TOK_36__

❓ Häufig gestellte Fragen

Ist dieses Tutorial zu 100 % kostenlos?

__TOK_37__

Können Anfänger dieser Anleitung folgen?

__TOK_38__

Wo kann ich Fragen stellen, wenn ich nicht weiterkomme?

__TOK_39__

🚀 Sehen Sie sich das vollständige Tutorial auf YouTube an

__TOK_40__

__TOK_41__

▶️ Vollständiges Video ansehen
Dieses Tutorial basiert auf dem Nginx Proxy Manager-Installationsvideo von Technical Anshu. • Sind Sie bei einem Schritt nicht weitergekommen? Fragen Sie in den Videokommentaren nach – dort bekommen Sie Hilfe 🙏