N8n installieren

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

n8n ist eine leistungsstarke Open-Source-Plattform zur Automatisierung von Workflows. Im Gegensatz zu Cloud-Diensten wie Zapier oder Make.com ermöglicht n8n den selbstgehosteten Betrieb, wodurch Sie die volle Kontrolle über Ihre Daten, Workflows und Kosten behalten.

Dieser Artikel zeigt vier verschiedene, in sich geschlossene Methoden ("Pfade"), um n8n auf einem lokalen Linux Server zu installieren. Wählen Sie den Pfad, der am besten zu Ihrem Anwendungsfall passt, und folgen Sie den Schritten von Anfang bis Ende.

Voraussetzungen

Allgemeine Voraussetzungen (für alle Methoden)

  • Server: Ein physischer Server oder eine Virtuelle Maschine.
  • Ressourcen: Mindestens 1 vCPU und 2 GB RAM. Für den produktiven Einsatz werden 2+ vCPUs und 4+ GB RAM empfohlen.
  • Benutzerrechte: Sie benötigen einen Benutzer mit sudo-Rechten.
  • System-Aktualität: Es wird empfohlen, das System vorab auf den neuesten Stand zu bringen:
sudo apt update && sudo apt upgrade -y

Spezifische Software (je nach Pfad)

  • Für Pfad 1 & 2 (Docker / Docker Compose): Installieren Sie die Docker Engine und das Compose Plugin über die offiziellen Docker-Repositories.
# 1. Alte Versionen entfernen
sudo apt-get remove docker docker-engine docker.io containerd runc && sudo apt-get autoremove -y
# 2. Repository einrichten und Docker installieren
sudo apt-get update && sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 3. Berechtigungen setzen (Entscheidend!)
sudo usermod -aG docker $USER

Wichtig: Damit die Docker-Berechtigung wirksam wird, müssen Sie sich einmal vom Server ab- und wieder anmelden oder den Befehl newgrp docker in Ihrer aktuellen Shell ausführen.

  • Für Pfad 3 (npm): Installieren Sie Node.js (v18+) und den Paketmanager npm.
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
  • Für Pfad 4 (Proxmox): Eine funktionierende Proxmox VE Installation wird vorausgesetzt.

Installations-Pfade

Pfad 1: Docker (Schnell & Einfach für Tests)

Diese Methode ist ideal, um n8n schnell und unkompliziert zu testen.

Schritt 1: Datenverzeichnis erstellen Dieser Schritt verhindert Berechtigungsprobleme im Container.

mkdir -p ~/.n8n
sudo chown -R $USER:$USER ~/.n8n

Schritt 2: Container starten

docker run -d --rm --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n:latest

n8n ist nun unter http://<Ihre-Server-IP>:5678 erreichbar. Sie werden eine Sicherheitswarnung bezüglich "secure cookie" sehen.

Schritt 3: Zugriffsproblem lösen Sie haben zwei Möglichkeiten:

  • A) Schneller Workaround (unsicher): Stoppen Sie den alten Container (docker stop n8n) und starten Sie ihn mit einer zusätzlichen Umgebungsvariable neu.

Nur für reine Localhost-Tests geeignet!

docker run -d --rm --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n -e "N8N_SECURE_COOKIE=false" n8nio/n8n:latest
  • B) Sicherer Weg mit Reverse Proxy (empfohlen): Richten Sie einen Reverse Proxy ein, um n8n über eine Domain mit HTTPS zu betreiben.
Detaillierte Anleitung: Reverse Proxy für n8n mit Nginx Proxy Manager einrichten

---

Pfad 2: Docker Compose (Empfohlen für Produktivbetrieb)

Diese Methode ist robust und ideal für den dauerhaften Einsatz, da sie die Datenbank und n8n sauber trennt.

Schritt 1: Projektverzeichnis und Konfigurationsdatei anlegen

mkdir -p ~/n8n-produktiv
cd ~/n8n-produktiv
nano docker-compose.yml

Schritt 2: Inhalt für docker-compose.yml einfügen Ersetzen Sie die Platzhalter für die Passwörter.

services:
  n8n:
    image: n8nio/n8n:latest
    ports:
      - "5678:5678"
    restart: always
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=IHR_N8N_DB_PASSWORT
      - GENERIC_TIMEZONE=Europe/Berlin
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      - postgres
  postgres:
    image: postgres:14
    restart: always
    environment:
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=IHR_N8N_DB_PASSWORT
      - POSTGRES_DB=n8n
    volumes:
      - postgres_data:/var/lib/postgresql/data
volumes:
  n8n_data:
  postgres_data:

Schritt 3: Container starten

docker compose up -d

Da der Port nur an 127.0.0.1 gebunden ist, ist n8n nicht direkt von außen erreichbar. Dies ist beabsichtigt.

Schritt 4: Zugriff ermöglichen Sie haben zwei Möglichkeiten:

  • A) Schneller Workaround (unsicher): Ändern Sie die Port-Zuweisung in der docker-compose.yml auf "5678:5678" und fügen Sie im environment-Block von n8n die Zeile - N8N_SECURE_COOKIE=false hinzu. Starten Sie neu mit docker compose up -d.

Nur für reine LAN-Tests ohne externe Erreichbarkeit geeignet!

  • B) Sicherer Weg mit Reverse Proxy (empfohlen): Richten Sie einen Reverse Proxy ein, der den Traffic an 127.0.0.1:5678 weiterleitet.
Detaillierte Anleitung: Reverse Proxy für n8n mit Nginx Proxy Manager einrichten

---

Pfad 3: npm (Für Entwickler)

Diese Methode installiert n8n direkt auf dem Host-System.

Schritt 1: n8n global installieren Die globale Installation erfordert Administratorrechte.

sudo npm install -g n8n

Schritt 2: n8n starten Führen Sie diesen Befehl als normaler Benutzer aus.

n8n

n8n ist nun unter http://<Ihre-Server-IP>:5678 erreichbar und zeigt die Sicherheitswarnung. Beenden Sie den Prozess mit Strg+C.

Schritt 3: Zugriffsproblem lösen Sie haben zwei Möglichkeiten:

  • A) Schneller Workaround (unsicher): Starten Sie n8n mit einer vorangestellten Umgebungsvariable.

Nur für reine Localhost-Tests geeignet!

N8N_SECURE_COOKIE=false n8n
  • B) Sicherer Weg mit Reverse Proxy (empfohlen): Lassen Sie n8n im Hintergrund laufen (z.B. mit pm2 oder systemd) und schalten Sie einen Reverse Proxy davor.
Detaillierte Anleitung: Reverse Proxy für n8n mit Nginx Proxy Manager einrichten

---

Pfad 4: Proxmox Helper Scripts (LXC)

Diese Methode erstellt einen dedizierten, schlanken Linux Container für n8n.

Achtung: Diese Methode empfehlen wir nicht für den Produktiv-Einsatz!

Schritt 1: Installationsskript ausführen Führen Sie diesen Befehl auf der Proxmox-Host-Shell aus und folgen Sie dem interaktiven Dialog.

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/n8n.sh)"

Schritt 2: Zugriff testen Nach der Installation gibt das Skript die IP-Adresse des Containers aus. n8n ist unter http://<IP-des-LXC-Containers>:5678 erreichbar und zeigt die Sicherheitswarnung.

Schritt 3: Zugriffsproblem lösen Sie haben zwei Möglichkeiten:

  • A) Schneller Workaround (unsicher): Konfigurieren Sie die Umgebungsvariable direkt im Container.

Nur für reine LAN-Tests ohne externe Erreichbarkeit geeignet!

# 1. Verbinden Sie sich mit der Shell des n8n-Containers
ssh root@<IP-des-LXC-Containers>
# 2. Öffnen Sie die systemd-Service-Datei
nano /etc/systemd/system/n8n.service
# 3. Fügen Sie unter dem Abschnitt [Service] folgende Zeile hinzu:
Environment="N8N_SECURE_COOKIE=false"
# 4. Speichern, schließen und die Dienste neu laden/starten
systemctl daemon-reload && systemctl restart n8n
  • B) Sicherer Weg mit Reverse Proxy (empfohlen): Richten Sie einen Reverse Proxy auf einem anderen Server oder in einem anderen Container ein, der den Traffic an http://<IP-des-LXC-Containers>:5678 weiterleitet.
Detaillierte Anleitung: Reverse Proxy für n8n mit Nginx Proxy Manager einrichten

Quellen

Autor: Florian Müller

Florian Müller hat bereits 2008 seine Ausbildung bei Thomas-Krenn gemacht und war danach in der internen IT-Administration tätig. Mittlerweile ist er im Presales Consulting Team und unterstützt Kunden und Kollegen beim Sizing und der Planung von komplexen IT-Projekten.

Das könnte Sie auch interessieren

Reverse Proxy für n8n mit Nginx Proxy Manager einrichten