Die einfachste Methode n8n selbst zu hosten, ist einen Docker Container unter Plesk aufzusetzen. Dieser Artikel zeigt, wie man den Postgres Server von Plesk aus dem n8n Container heraus nutzen kann. Es sind nur wenige Schritte notwendig. Die Vorgehensweise ist natürlich auch auf andere Docker Container, nicht nur n8n, anwendbar. Los geht’s!
1. Docker Host IP ermitteln
Zuerst benötigen wir die Docker Host IP Adresse im Docker Default Bridge Netzwerk. D.h. Die IP des Servers auf dem Docker läuft, im Docker-internen Netz aus Sicht des Containers. Das ist normalerweise 172.17.0.1.
Wir gehen jedoch auf Nummer Sicher und testen das im Terminal:
|
1 |
ip addr show docker0 | grep inet |
Die Ausgabe sollte dann so aussehen:
|
1 2 |
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 inet6 fe80::e870:62ff:fefa:2ba7/64 scope link |
Sollte bei Dir etwas anderes as 172.17.0.1 stehen, ersetze diese IP mit deiner eigenen in allen weiteren Schritten.
2. Docker Netzwerk für Postgres freischalten
Falls noch nicht geschehen, tragen wir in der Datei /etc/postgresql/16/main/postgresql.conf folgendes ein, damit Postgres auf allen Network Interfaces lauscht:
|
1 |
listen_addresses = '*' |
Zur /etc/postgresql/16/main/pg_hba.conf fürgen wir foglende Zeile hinzu, um das Docker Default Bridge Network zu erlauben:
|
1 |
host all all 172.17.0.0/16 scram-sha-256 |
Danach starten wir Postgres neu:
|
1 |
/etc/init.d/postgresql restart |
3. Plesk Firewall für Docker freischalten
Nun öffnen wir die Plesk Firewall Konfiguration, fügen folgende Regel hinzu und speichern:
4. Zugriff auf Postgres aus Docker heraus testen
Wenn alles geklappt hat, sollte der Zugriff aus Docker heraus möglich sein. Um das zu testen, geben wir am Beispiel unseres n8n Containers folgendes im Terminal ein:
|
1 2 |
docker exec -it n8n /bin/sh nc -zv 172.17.0.1 5432 |
Das Ergebnis sollte den offenen Postgres Port bestätigen:
|
1 |
172.17.0.1 (172.17.0.1:5432) open |
5. n8n Postgres Node konfigurieren
Die n8n Postgres Node wird dann wie folgt konfiguriert:
- Host ist
172.17.0.1 - SSL ist OFF
Du hast es geschafft und kannst nun Plesk’s Postgres Server aus deinem Docker Container heraus nutzen.
