Der Nginx Proxy Manager ist ein leistungsfähiges Tool zur Verwaltung von Nginx-Proxys über eine benutzerfreundliche grafische Oberfläche. Mit Portainer kann der Nginx Proxy Manager als Docker-Container einfach verwaltet und überwachet werden. Mit Portainer zusammen bieten die Tools eine einfache Möglichkeit, eine sichere, skalierbare und robuste Proxy-Infrastruktur bereitzustellen.
In diesem Beitrag werde ich zeigen, wie ich auf meinem Linux-Server mit Hilfe von Protainer den Nginx Proxy Manager einrichte. Dazu melde ich mich auf meiner Portainer Instanz an. Wie ich Portainer eingerichtet habe, habe ich hier gezeigt.
Virtuelles Netzwerk hinzufügen
Als erstes werde ich ein virtuelles Netzwerk hinzufügen, über das die Container miteinander kommunizieren werden.
Das virtuelle Netzwerk nenne ich einfachheitshalber web und ist vom Typ bridge. Weitere Einstellungen nehme ich am Netzwerk nicht vor.
Virtuelles Laufwerk erstellen
Im nächsten Schritt erstelle ich ein virtuelles Laufwerk (Volume), dass die Daten vom Nginx Proxy Manager speichern soll. Dadurch gehen die Daten bei einem Neustart oder Update des Containers nicht verloren.
Das Volume nenne ich nginx_proxy_manager. Weitere Einstellungen nehme ich nicht vor.
Nginx Proxy Manager Container erstellen und starten
Jetzt komme ich endlich dazu den Docker-Container zu erstellen. Das mache ich über die Container list in der Portainer-Oberfläche.
Ich vergebe einen Namen, gebe das Docker-Image (jc21/nginx-proxy-manager:latest) an und mappe die Ports 80, 443 und 81. Der Port 81 ist für die Oberfläche des Managers.
Unter den Advanced container settings muss ich noch ein paar Einstellungen vornehmen. Als erstes werde ich das Mapping für die Daten vornehmen unter Volumes. Ich mappe die Ordner /data und /etc/letsencrypt auf das zuvor angelegte virtuelle Laufwerk nginx_proxy_manager.
Unter dem Punkt Network setze ich noch das zuvor erstellte virtuelle Netzwerk web.
Die Regeln für den Neustart des Containers setze ich noch unter Restart policy auf Always.
Jetzt kann ich den Container erstellen (Deploy the container). Der Container wird jetzt in der Liste erfolgreich angezeigt.
Port freigeben
Je nach Einrichtung der Firewall auf meinem Linux-Server, muss ich die Ports 80, 81 und 443 noch freigeben und die Firewall neu laden. Dazu muss ich mich über SSH mit dem Server verbinden.
sudo ufw allow http
sudo ufw allow https
sudo ufw allow 81/tcp comment "Nginx Proxy Manager"
sudo ufw reload
Erste Anmeldung am Nginx Proxy Manager
Ich navigiere jetzt im Browser zu meiner Server-IP mit dem Port 81.
http://<Meine Server IP>:81/
Der Login-Bildschirm wird angezeigt.
Als Standard Mail-Adresse und Passwort ist folgendes hinterlegt:
Email: admin@example.com
Password: changeme
Nach der Anmeldung muss ich die Einstellungen für den Administrator setzen.
Anschließend wird noch das Passwort neu gesetzt.
Jetzt ist der Nginx Proxy Manager einsatzbereit.
In den nächsten Schritten werde ich den Nginx Proxy Manager und den Portainer über jeweils eine Domain verfügbar machen und ein Zertifikat für eine sichere Verbindung hinzufügen.