Kapitel 10/Free Rhohtext.md aktualisiert
This commit is contained in:
@@ -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.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user