In diesem Tutorial wird erklärt wie ihr den Nginx Proxy Manager installiert und damit eure Docker Container aus dem Internet erreichbar macht.
Als erstes benötigt ihr eine Domain. Wenn ihr noch keine habt könnt ihr euch mit Duck DNS kostenlos bis zu 5 Subdomains erstellen.
Freizugebenden Docker Container
Als erstes benötigt ihr einen Docker Container den ihr Freigeben wollt.
Ich verwende in diesem Tutorial als Beispiel «tautulli» ihr könnt aber auch jeden anderen Container verwenden.
Falls ihr Nextcloud verwenden wollt gibt es einige extra Schritte zu beachten die ich ganz am Ende dieses Tutorials zeige.
Nginx Proxy Manager installieren und Konfigurieren
Sucht einfach in eurem apps Tab nach «nginxproxymanager» und drückt auf installieren.
Die voreingestellten Ports könnt ihr in der Regel so lassen, falls ihr sie aber ändern wollt bedenkt, dass natürlich nur noch freie nicht durch andere Container blockierte Ports möglich sind.
Achtet darauf dass euer Installationspfad stimmt, im Normalfall sollte das eure cache ssd sein, in meinem Fall ist es eine Unassigned Devices ssd.
ipv6 habe ich auf disabled gesetzt da ich es nicht benötige.
Alle anderen Einstellungen könnt ihr so lassen.
Portfreigaben
Nach der Installation müsst ihr den http und https Port der zuvor in der Docker Container Konfiguration festgelegt wurde in eurem Netzwerk freigeben. Mit den Standard Port Einstellungen des Containers müsst ihr den externen Port 443 auf den internen Port 18443 für https weiterleiten und den externen Port 80 auf den internen Port 1880 für http.
Falls ihr eine FritzBox habt erkläre ich hier wie ihr die Ports freigebt.
Um zu checken, ob ihr alles richtig gemacht habt könnt ihr einfach eure externe ipv4 Adresse im Browser eingeben, dann solltet ihr das hier sehen:
Nginx Proxy Manager Erstanmeldung
Nachdem ihr den Nginx Proxy Manager installiert und die Ports freigegeben habt könnt ihr nun auf das Web Interface zugreifen. Beim ersten Öffnen werdet ihr von einem Anmeldescreen begrüsst.
Das sind die Erstanmeldedaten:
Email: admin@example.com
Password: changeme
Nach der Erstanmeldung werdet ihr gebeten eure Anmeldedaten zu ändern.
Proxy Host hinzufügen
Nachdem ihr eure Anmeldedaten geändert habt, landet ihr auf dem Dashboard. Hier klickt ihr auf «Proxy Hosts» und dann auf «Add Proxy Hosts»
Bei «Domain Names» tragt ihr eure ip mit der ihr auf einen Docker Container zugreifen wollt ein.
Bei «Forward Hostname/IP» tragt ihr die IP des Containers ein. Wenn ihr einen Container mit «bridge Network»(Dies seht ihr ganz einfach im Dockertab von Unraid) habt ist dies einfach die ip Adresse des Servers.
Jetzt könnt ihr auch schon auf save drücken, um zu testen, ob alles funktioniert hat.
Ruft dazu einfach eure Domain mit http:// auf. In meinem Fall sieht das dann so aus:
Domain SSL verschlüsseln
Da ihr aber eure Domain nicht unverschlüsselt lassen wollt klickt ihr jetzt im Nginx Proxy Manager auf die 3 Punkte und «edit». Im SSL Tab könnt ihr jetzt «Request a new SSL Certificate» auswählen. Schaltet auch «Force SSL» an damit ihr in Zukunft immer auf die verschlüsselte https:// Seite weitergeleitet werdet (erkennbar am geschlossenen Schloss in der URL Zeile bei Firefox/Chrome).
Ihr habt es geschafft und könnt jetzt auf euren Docker Container per Domain zugreifen, für alle weiteren Domains muss im Nginx Proxy Manager einfach ein weiterer «Proxy Host» Eintrag hinzugefügt werden.
Nextcloud mit dem Nginx Proxy Manager verfügbar machen
Wenn ihr für Nextcloud alle obigen Schritte ausführt, werdet ihr auf folgender Seite landen:
Ihr müsst erst eine config von Nextcloud bearbeiten, um eure Domain als vertrauenswürdig zu erlauben.
Vorher müsst ihr aber noch einmal euren Proxy Host Eintrag bearbeiten und bei «Scheme» https auswählen.
Jetzt müsst ihr die config unter diesem Pfad: appdata/nextcloud/www/nextcloud/config/config.php
mit einem Texteditor eurer Wahl öffnen.
Ich verwende hierzu notepad++ unter Windows.
Wenn ihr das ganze geöffnet habt, sollte es in etwa folgendermassen aussehen:
. . . 'trusted_domains' => array ( 0 => '192.168.178.39:444', ), 'dbtype' => 'mysql', 'version' => '20.0.6.1', 'overwrite.cli.url' => 'http://192.168.178.39:444', 'dbname' => 'nextcloud', . . .
Die nicht relevanten Zeilen über und unter dem Eintrag wurden weggelassen.
Jetzt müsst ihr 3 Zeilen Hinzufügen:
. . . 'trusted_domains' => array ( 0 => '192.168.178.39:444', 1 => 'Subdomain.duckdns.org', ), 'dbtype' => 'mysql', 'version' => '20.0.6.1', 'overwrite.cli.url' => 'http://192.168.178.39:444', 'overwritehost' => 'Subdomain.duckdns.org', 'overwriteprotocol' => 'https', 'dbname' => 'nextcloud', . . .
2 mal eure Domain und ein Mal https erzwingen.
Config speichern und schon solltet ihr auch auf eure Nextcloud zugreifen können.
Schreib einen Kommentar