From ffbc6d7a0253ec16e9a453954c897bded4e2d3ed Mon Sep 17 00:00:00 2001 From: Thomas Dannenberg Date: Wed, 8 Oct 2025 07:43:56 +0000 Subject: [PATCH] Kapitel 10/Free Rhohtext.md aktualisiert --- Kapitel 10/Free Rhohtext.md | 243 ++++++++++++++++++++++++++++++++++++ 1 file changed, 243 insertions(+) diff --git a/Kapitel 10/Free Rhohtext.md b/Kapitel 10/Free Rhohtext.md index 337f19d..c479878 100644 --- a/Kapitel 10/Free Rhohtext.md +++ b/Kapitel 10/Free Rhohtext.md @@ -27,3 +27,246 @@ Wie immer setzen wir kein technisches Vorwissen voraus. Alles, was du für diese --- +## Voraussetzungen & Ressourcen + +Bevor du mit der Installation von n8n beginnst, solltest du sicherstellen, dass dein System korrekt vorbereitet ist. In diesem Abschnitt definieren wir die nötigen Ressourcen für den LXC-Container und klären, welche technischen Voraussetzungen erfüllt sein müssen, damit alle späteren Schritte funktionieren. + +### Container-Ressourcen + +Für den n8n-Container legen wir folgende Ausstattung fest: + + * **CPU: 2 vCPUs** +Zwei virtuelle Prozessoren reichen für die Ausführung typischer n8n‑Workflows im Hintergrund. +Falls du später viele parallele Abläufe oder aufwendige API-Abfragen nutzen möchtest, kannst du die CPU-Zahl bei Bedarf erhöhen. + + * **RAM: 2 GB** +Der Node.js-Prozess von n8n benötigt vergleichsweise wenig Arbeitsspeicher. +Mit 2 GB läuft das System auch bei mehreren gleichzeitig aktiven Workflows stabil. +Nur bei sehr großen Datenverarbeitungen (z. B. viele gleichzeitige Uploads oder komplexe Datenmanipulationen) kann mehr RAM sinnvoll sein. + + * **Speicherplatz: 10 GB** +Dieser Platz reicht für die Grundinstallation, Logdateien und temporäre Workflow-Daten. +Da n8n keine großen Medien speichert, ist der Speicherbedarf überschaubar. +Wenn du viele eigene Skripte oder große JSON-Daten verarbeitest, kannst du den Container später vergrößern. + + * **Betriebssystem: Ubuntu 24.04 LTS (64‑Bit)** +Wir setzen hier auf Ubuntu, da es moderne Pakete für Node.js bereitstellt und sich gut für die manuelle Installation eignet. +Zudem verwenden wir Node.js ≥ 18.x, was unter Ubuntu besonders gut unterstützt wird. + + * **Netzwerk: Feste IP-Adresse per DHCP-Reservierung** +Wie in Kapitel 1 beschrieben, richtest du im Router eine DHCP-Reservierung für den Container ein. +So bleibt er immer unter derselben Adresse erreichbar und kann später korrekt im Proxy Manager eingebunden werden. + +[!TIP] +Plane beim Erstellen des Containers genug Reserven ein – auch wenn n8n anfangs wenig verbraucht. +Gerade wenn du das System später für Uploads, VOD-Verarbeitung oder komplexe Kalenderanalysen nutzt, steigen RAM- und CPU-Anforderungen deutlich. + +### Technische Voraussetzungen + +Dieses Kapitel baut auf der bestehenden UCC-Grundstruktur auf. Folgende Komponenten solltest du bereits eingerichtet haben: + + * **Proxmox läuft stabil** (Kapitel 1) + Der LXC-Container für n8n wird direkt dort erstellt und verwaltet. + + * **Nginx Proxy Manager ist eingerichtet** (Kapitel 3) + Darüber wird n8n später mit Subdomain, HTTPS und Zertifikat erreichbar gemacht. + + * **Domain oder DynDNS-Adresse ist vorhanden** (Kapitel 4) + Für die öffentliche Erreichbarkeit und Let's Encrypt brauchst du eine gültige Subdomain, z. B. `n8n.deinprojekt.de`. + + * **Zugriff auf das Container-Terminal** + Du benötigst entweder direkten Zugriff über die Proxmox-Konsole oder per SSH auf den Container. + +[!IMPORTANT] +Wenn du n8n nur im lokalen Netzwerk einsetzen möchtest, kannst du den Container auch ohne Domain und HTTPS betreiben. Die Anleitung funktioniert in diesem Fall ebenfalls – du musst später lediglich eigene Proxy-Regeln anpassen. + +### Software und Versionen + +In diesem Kapitel installierst du alle benötigten Komponenten manuell – ohne Docker, vollständig nachvollziehbar: + + * **Node.js** – ab Version 18.x (erforderlich für aktuelle n8n-Releases) + * **npm** – Node Package Manager, wird automatisch mit Node.js installiert + * **n8n** – Automatisierungstool, wird systemweit per `npm install -g` eingerichtet + * **PM2** – Prozessmanager, sorgt für dauerhaften Hintergrundbetrieb und Autostart + +Alle Schritte erfolgen in der richtigen Reihenfolge und mit ausführlichen Erklärungen – du brauchst keine Vorkenntnisse im Umgang mit Node.js oder JavaScript. + +[!TIP] +Die direkte Installation ohne Docker erhöht die Transparenz. Du behältst volle Kontrolle über die Dateien, Logs und Prozesse – und kannst das System bei Bedarf gezielt sichern oder migrieren. + +--- + +## Schritt 1 – Grundsystem aktualisieren + +Bevor wir mit der Installation von n8n beginnen, sorgen wir dafür, dass das Betriebssystem im Container auf dem neuesten Stand ist. +Das ist wichtig, um Fehler durch veraltete Pakete zu vermeiden und eine stabile Grundlage für die weiteren Schritte zu schaffen. + +Öffne dazu in Proxmox die **Shell** des n8n-Containers. +Wähle in der linken Seitenleiste den Container aus und klicke auf **Shell**. + +👉 Screenshot geeignet: Proxmox – Container ausgewählt und Konsole geöffnet + +Gib anschließend den folgenden Befehl ein, um alle Paketlisten zu aktualisieren und die verfügbaren Updates zu installieren. +Starte danach den Container neu, damit die Aktualisierungen aktiv werden: + +```bash +apt update && apt upgrade -y +reboot +``` + +[!NOTE] +Führe diesen Schritt auch dann durch, wenn der Container gerade erst erstellt wurde. +Ein aktuelles Grundsystem verhindert spätere Konflikte bei der Installation von Node.js und n8n. + +## Schritt 2 – Node.js & n8n installieren + +Nach dem Update ist das System bereit für die Installation der benötigten Software. +n8n basiert auf Node.js, daher müssen wir zunächst Node.js und den zugehörigen Paketmanager **npm** einrichten. +Anschließend installieren wir n8n selbst sowie den Prozessmanager **PM2**, damit n8n dauerhaft im Hintergrund laufen kann. + +### Benutzer wechseln + +Wir installieren n8n nicht mit Administrator-Rechten, sondern unter einem eigenen Benutzerkonto. +Melde dich daher mit dem Benutzer an, den du in Schritt 1 erstellt hast: + +```bash +su - n8nuser +``` + +👉 Screenshot geeignet: Konsole – Anmeldung als Benutzer `n8nuser` + +### Node.js installieren + +Zuerst fügen wir das offizielle NodeSource-Repository hinzu, um die aktuelle Version (mindestens 18.x) zu erhalten, und installieren dann Node.js und npm: + +```bash +curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - +sudo apt install -y nodejs +``` + +Prüfe nach der Installation die Versionen: + +```bash +node -v +npm -v +``` + +Die angezeigten Versionsnummern sollten mindestens `v18.x` für Node.js und eine aktuelle npm-Version zeigen. + +[!NOTE] +Falls eine deutlich ältere Version angezeigt wird, wiederhole die Installation oder kontrolliere die Repository-Adresse. + +### n8n und PM2 installieren + +Installiere nun n8n und den Prozessmanager PM2 global über npm: + +```bash +sudo npm install -g n8n pm2 +``` + +Mit PM2 stellst du sicher, dass n8n auch nach einem Neustart automatisch startet. + +Überprüfe anschließend, ob n8n korrekt installiert wurde: + +```bash +n8n --version +``` + +Die Ausgabe zeigt die aktuell installierte n8n-Version an. + +[!TIP] +PM2 sorgt dafür, dass n8n später automatisch als Hintergrunddienst läuft. +Die Konfiguration dafür nehmen wir im nächsten Schritt vor. + +## Schritt 3 – n8n als Dienst einrichten und starten + +Damit n8n nicht nur manuell über die Konsole gestartet werden kann, richten wir den automatischen Start mit **PM2** ein. +So läuft n8n dauerhaft im Hintergrund und wird bei jedem Neustart des Containers automatisch geladen. + +### n8n erstmals starten + +Starte n8n zunächst einmalig, um sicherzustellen, dass es fehlerfrei läuft: + +```bash +n8n +``` + +Die Konsole zeigt nun Startmeldungen von n8n an und wartet anschließend auf Anfragen. +Beende den Prozess wieder mit der Tastenkombination `Strg + C`. + +👉 Screenshot geeignet: Konsole – n8n erfolgreich gestartet und wartet auf Anfragen + +### PM2 einrichten + +Mit PM2 starten wir n8n als Hintergrundprozess: + +```bash +pm2 start n8n +``` + +Damit n8n automatisch beim Systemstart geladen wird, registriere den PM2-Startdienst: + +```bash +pm2 startup +sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u n8nuser --hp /home/n8nuser +pm2 save +``` + +* `pm2 startup` zeigt den notwendigen Befehl für den Autostart an. +* Mit `pm2 save` speicherst du die aktuelle PM2-Prozessliste. + +### Dienststatus prüfen + +Überprüfe, ob n8n nun im Hintergrund läuft: + +```bash +pm2 list +``` + +Die Ausgabe sollte den Prozess `n8n` mit dem Status **online** anzeigen. + +[!NOTE] +Ab diesem Punkt läuft n8n automatisch im Hintergrund und wird bei jedem Neustart des Containers selbstständig gestartet. + +## Schritt 4 – n8n im Nginx Proxy Manager einbinden + +Öffne den **Nginx Proxy Manager** und lege einen neuen Proxy-Host für n8n an. + +1) **Anmelden** im NPM-Dashboard +👉 Screenshot geeignet: NPM – Dashboard nach Login + +2) Klicke auf **Add Proxy Host** + +3) Trage im Reiter **Details** folgende Werte ein: + +| Feld | Wert / Auswahl | +|--------------------------------|------------------------------------------| +| **Domain Names** | `n8n.deinedomain.tld` | +| **Scheme** | `http` | +| **Forward Hostname / IP** | IP-Adresse des n8n-Containers | +| **Forward Port** | `5678` | +| **Block Common Exploits** | aktivieren | +| **Websockets Support** | aktivieren | + +👉 Screenshot geeignet: Formular „Add Proxy Host“ mit IP des n8n-Containers und Port 5678 + +4) Wechsle zu **SSL** und setze: + +| Feld | Einstellung | +|-----------------------------------|----------------------------| +| **Request a new SSL Certificate** | aktivieren | +| **Force SSL** | aktivieren | +| **HTTP/2 Support** | aktivieren | + +👉 Screenshot geeignet: SSL-Tab mit aktivierter Option „Force SSL“ + +5) Klicke **Save**, um den Proxy-Host anzulegen. + +Nach wenigen Sekunden ist n8n über die gewählte Subdomain erreichbar, z. B.: +`https://n8n.deinedomain.tld` + +👉 Screenshot geeignet: Browser – n8n-Anmeldeseite über die Subdomain aufgerufen + +[!TIP] +Falls der Zugriff auch von außen möglich sein soll, muss im Router Port 443 auf den NPM-Host weitergeleitet werden. +