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.
sudo-Rechten.sudo apt update && sudo apt upgrade -y
# 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.
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt-get install -y nodejs
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:
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
---
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:
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!
127.0.0.1:5678 weiterleitet.---
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:
Nur für reine Localhost-Tests geeignet!
N8N_SECURE_COOKIE=false n8n
pm2 oder systemd) und schalten Sie einen Reverse Proxy davor.---
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:
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
http://<IP-des-LXC-Containers>:5678 weiterleitet.|
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. |