Sie fragen - wir antworten!

Apps & Leitfäden

Wie wird N8N installiert?

KI-Agenten sind im Jahr 2025 nach wie vor einer der vielversprechendsten Ansätze für die Lösung komplexer Aufgaben unter Verwendung großer Sprachmodelle. Diese Agenten sind autonom und in der Lage, selbständig verschiedene Werkzeuge auszuwählen, um die ihnen zugewiesenen Aufgaben zu erfüllen. Mit diesem Ansatz lassen sich Ergebnisse mit weniger menschlicher Beteiligung und höherer Qualität erzielen. Er eröffnet auch die Möglichkeit, originellere und effizientere Wege zur Lösung von Problemen zu finden.

Anstatt nur eine Aufgabe zu formulieren, weisen Sie das neuronale Netz an, sie auf der Grundlage der ihm zugewiesenen Ressourcen selbständig zu lösen. Damit dieses System funktioniert, muss es jedoch einen Mechanismus geben, der die Schnittstellen des neuronalen Netzes mit verschiedenen Werkzeugen verbindet, sei es eine Websuche oder eine Vektordatenbank zur Speicherung von Zwischenergebnissen.

n8n ist eine Automatisierungsplattform, die die Integration mit verschiedenen neuronalen Netzen und öffentlichen Diensten unterstützt. Die Benutzer können visuell entwerfen, wie die Daten verarbeitet werden und welches Endergebnis erzielt werden soll. Im Gegensatz zu klassischen No-Code-Lösungen kann bei n8n in jeder Phase des Prozesses beliebiger Code eingefügt werden, was besonders dann nützlich ist, wenn die integrierten Funktionen nicht ausreichen.

Das Ergebnis ist ein System, das die Einfachheit von No-Code mit der Flexibilität der traditionellen Programmierung verbindet. Um es vollständig zu verstehen, müssen Sie jedoch einige Zeit damit verbringen, Workflow-Beispiele zu erforschen und zu überprüfen, um es besser zu verstehen. In diesem Artikel zeigen wir Ihnen, wie Sie n8n auf LeaderGPU-Servern einsetzen können.

Vorbereiten des Servers

Aktualisieren des Systems

Aktualisieren Sie die Paketliste und aktualisieren Sie alle installierten Pakete:

sudo apt update && sudo apt -y upgrade

Installieren Sie automatisch den empfohlenen NVIDIA®-Treiber (proprietär) oder verwenden Sie unsere Schritt-für-Schritt-Anleitung Installieren Sie Nvidia-Treiber unter Linux:

sudo ubuntu-drivers autoinstall

Starten Sie nun den Server neu:

sudo shutdown -r now

Docker installieren

Sie können das offizielle Installationsskript verwenden:

curl -sSL https://get.docker.com/ | sh

Fügen wir den NVIDIA® Container Toolkit GPG-Schlüssel und das Repository für die Docker-Integration hinzu:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

Aktualisieren Sie die Paketliste und installieren Sie das NVIDIA®-Container-Toolkit:

sudo apt update && sudo apt -y install nvidia-container-toolkit

Starten Sie Docker neu, um die Änderungen zu übernehmen und das installierte Toolkit zu aktivieren:

sudo systemctl restart docker

n8n installieren

Damit das System Daten speichern kann, müssen Sie ein Volume erstellen, bevor Sie den Container starten:

sudo docker volume create n8n_data

Starten wir nun einen Container, der den Port 5678 für externe Verbindungen öffnet und das erstellte Volume n8n_data in das Verzeichnis /home/node/.n8n innerhalb des Containers mounten wird:

sudo docker run -d --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

Wenn Sie die Anwendung zum ersten Mal starten, werden Sie vielleicht durch die folgende Fehlermeldung verwirrt sein:

TLS-error N8N

Dabei handelt es sich nicht um einen Fehler, sondern eher um eine Warnung, wie Sie das System für den Zugriff richtig konfigurieren müssen. Das Problem ist, dass das System standardmäßig kein TLS/HTTPS-Zertifikat hat. Ohne dieses ist die Verbindung nicht sicher. Sie haben also drei Möglichkeiten:

  1. Connect your own certificate. Sie können dies tun, indem Sie die Pfade zu den Zertifikatsdateien über Umgebungsvariablen angeben oder einen Reverse-Proxy-Server konfigurieren.
  2. Create an SSH tunnel and forward port 5678 auf localhost auf dem Computer, von dem aus Sie sich verbinden. Auf diese Weise erhalten Sie sofort eine sichere persönliche Verbindung. Allerdings kann niemand sonst von außen auf den Server zugreifen.
  3. Bypass the warning. Wenn es sich um einen Testserver handelt, der nicht für den produktiven Einsatz gedacht ist, und Sie sich nicht um die Sicherheit kümmern, können Sie die Warnung deaktivieren, indem Sie die Umgebungsvariable N8N_SECURE_COOKIE auf FALSE setzen. Dennoch kann dies in bestimmten Szenarien akzeptabel sein.

In diesem Artikel werden die einzelnen Optionen im Detail erläutert, damit Sie die richtige wählen können.

Verbindung zum Server herstellen

Wenn Sie noch kein SSL-Zertifikat haben, empfehlen wir Ihnen, eines bei LeaderSSL zu bestellen. Es kann für jede Website, jeden Online-Shop oder zur Überprüfung der Authentizität einer E-Mail verwendet werden.

Umgebungsvariablen verwenden

Der einfachste Weg, HTTPS zu konfigurieren, besteht darin, Ihr Zertifikat auf den Server hochzuladen und es über Docker-Umgebungsvariablen anzugeben. Beginnen Sie damit, ein Verzeichnis für die Zertifikatsdateien zu erstellen:

mkdir ~/n8n-certs

Sie können diese Dateien (normalerweise cert.crt und privkey.key) mit einer beliebigen Methode in dieses Verzeichnis hochladen. Ausführlichere Informationen finden Sie unter:

Starten wir nun den Container mit einem vollständigen Befehl:

sudo docker run -d \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-v ~/n8n-certs:/certs \
-e N8N_PROTOCOL=https \
-e N8N_SSL_CERT="/certs/cert.crt" \
-e N8N_SSL_KEY="/certs/privkey.key" \
docker.n8n.io/n8nio/n8n

Hier ist eine Aufschlüsselung der einzelnen Argumente:

  • sudo docker run -d Startet den Docker-Container im Daemon-Modus (im Hintergrund)
  • --name n8n weist dem Container den Namen zu n8n
  • -p 5678:5678 leitet den Port 5678 an den Container weiter
  • -v n8n_data:/home/node/.n8n erstellt ein Volume mit dem Namen n8n_data und hängt es in das versteckte Verzeichnis /home/node/.n8n innerhalb des Containers ein
  • -v ~/n8n-certs:/certs mountet das Zertifikatsverzeichnis
  • -e N8N_PROTOCOL=https zwingt N8N zur Verwendung des HTTPS-Protokolls
  • -e N8N_SSL_CERT="/certs/cert.crt" legt den Pfad zur Zertifikatsdatei fest
  • -e N8N_SSL_KEY="/certs/privkey.key" legt den Pfad zum Zertifikatsschlüssel fest
  • docker.n8n.io/n8nio/n8n Container-Image-Quelle

Traefik

Eine etwas kompliziertere, aber flexible Einrichtung beinhaltet die Verwendung des Traefik-Reverse-Proxy-Servers zur Sicherung der Verbindung zu N8N. Die Konfigurationsdatei basiert auf der offiziellen Methode, die in der Dokumentation beschrieben ist. Installieren Sie zunächst das Tool docker-compose:

sudo apt -y install docker-compose

Wir werden Traefik und N8N gemeinsam einrichten, und sie müssen sich im selben Netzwerk befinden. Erstellen Sie ein Netzwerk mit dem Namen web.

sudo docker network create web

Erstellen Sie nun eine docker-compose.yml Datei, um beide Container zu definieren und auszuführen:

nano docker-compose.yml
services:
  traefik:
    image: "traefik"
    container_name: "proxy"
    restart: always
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
      - "--entrypoints.web.http.redirections.entrypoint.scheme=https"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true"
      - "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}"
      - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - traefik_data:/letsencrypt
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - web

  n8n:
    image: docker.n8n.io/n8nio/n8n
    container_name: "n8n"
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    labels:
      - traefik.enable=true
      - traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
      - traefik.http.routers.n8n.tls=true
      - traefik.http.routers.n8n.entrypoints=web,websecure
      - traefik.http.routers.n8n.tls.certresolver=mytlschallenge
      - traefik.http.middlewares.n8n.headers.SSLRedirect=true
      - traefik.http.middlewares.n8n.headers.STSSeconds=315360000
      - traefik.http.middlewares.n8n.headers.browserXSSFilter=true
      - traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
      - traefik.http.middlewares.n8n.headers.forceSTSHeader=true
      - traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
      - traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
      - traefik.http.middlewares.n8n.headers.STSPreload=true
      - traefik.http.routers.n8n.middlewares=n8n@docker
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    volumes:
      - n8n_data:/home/node/.n8n
      - ./local-files:/files
    networks:
      - web

volumes:
  n8n_data:
  traefik_data:

networks:
  web:
    name: web

Zusätzlich zur Datei docker-compose.yml erstellen wir eine weitere Datei namens .env. Diese Datei enthält Variablen wie den Domainnamen und die E-Mail-Adresse, die für die Anforderung eines SSL-Zertifikats bei Let's Encrypt verwendet werden. Wenn wir etwas ändern müssen, z. B. den Domänennamen, brauchen wir ihn nur in dieser Datei zu aktualisieren und dann den Container neu zu erstellen.

nano .env
DOMAIN_NAME=example.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Europe/Amsterdam
SSL_EMAIL=user@example.com

Zum Schluss stellen Sie beide Container bereit:

sudo docker-compose up -d
Jetzt ist N8N hier verfügbar: https://n8n.example.com.

Nginx Proxy Manager

Im Gegensatz zu Traefik, das über Dateien konfiguriert wird, bietet der Nginx Proxy Manager ein benutzerfreundliches Web-Interface. Allerdings werden die Dienste nicht dynamisch erkannt, sondern Sie müssen sie manuell hinzufügen. Dennoch funktioniert er gut für statische Dienste wie N8N.

Erstellen Sie eine weitere Datei docker-compose.yml in einem separaten Verzeichnis mit dem folgenden Inhalt:

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: proxy
    restart: unless-stopped
    ports:
      - '80:80'
      - '443:443'
      - '81:81'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    networks:
      - web

  n8n:
    image: docker.n8n.io/n8nio/n8n
    container_name: n8n
    restart: unless-stopped
    environment:
      - N8N_HOST=n8n.example.com
      - N8N_PORT=5678
      - WEBHOOK_URL=https://n8n.example.com/
      - N8N_PROTOCOL=http
    volumes:
      - n8n_data:/home/node/.n8n
    networks:
      - web

volumes:
  n8n_data:

networks:
  web:
    external: true

Bereitstellen mit:

sudo docker-compose up -d

Dann öffnen Sie das Web-Interface unter: http://your_hostname_or_ip:81

  • Benutzername: admin@example.com
  • Kennwort: changeme

Sie werden aufgefordert, Ihre Anmeldedaten zu aktualisieren. Öffnen Sie anschließend Hosts → Proxy Hosts → Add Proxy Host und geben Sie Ihren Domänennamen ein (z. B. n8n.example.com):

Add domain N8N

Füllen Sie die erforderlichen Felder aus:

  • Setzen Sie Destination/IP auf n8n.
  • Setzen Sie Port auf 5678.
  • Wählen Sie unter der Registerkarte SSL die Option Request a new SSL certificate with Let’s Encrypt.
  • Geben Sie Ihre E-Mail-Adresse ein und stimmen Sie den Bedingungen zu.
  • Klicken Sie auf Websockets support.
  • Klicken Sie optional auf Force SSL.

Nachdem Sie auf Save geklickt haben, wird das Zertifikat angefordert und installiert:

Nginx Proxy Manager ready

Wenn Sie Ihre Domain öffnen, gelangen Sie zur N8N-Schnittstelle.

SSH-Tunnel

Wenn Sie die N8N-Erreichbarkeit von außen nicht benötigen, können Sie Port 5678 über SSH weiterleiten. Dadurch wird der gesamte Datenverkehr verschlüsselt, und N8N wird unter http://localhost:5678/ verfügbar sein.

Hinweis: Diese Einrichtung funktioniert nicht für Integrationen mit externen Diensten wie Messengern, die einen öffentlichen HTTPS-Zugang benötigen.

Der einfachste Weg, den Port weiterzuleiten, ist mit dem beliebten SSH-Client PuTTY. Öffnen Sie nach der Installation SSH → Tunnels und setzen Sie Source port - 5678 und Destination - localhost:5678. Klicken Sie dann auf Add.

PuTTY port forwarding

Gehen Sie zurück zu Session, geben Sie die IP Ihres Servers ein und klicken Sie auf Open. Sobald die Authentifizierung erfolgt ist, ist der Tunnel aktiv. Öffnen Sie http://localhost:5678 in einem Browser, um auf N8N zuzugreifen.

Hinweis: Die Verbindung funktioniert nur, solange die SSH-Sitzung aktiv ist. Wenn Sie PuTTY schließen, wird der Tunnel beendet.

Umgehung von

Diese Methode wird für den Einsatz in öffentlichen Netzwerken nicht empfohlen. Wenn Sie den Container mit der Umgebungsvariablen N8N_SECURE_COOKIE=false starten, verschwindet die Warnung, und Sie erhalten Zugang über HTTP:

sudo docker run -d --name n8n -p 5678:5678 -e N8N_SECURE_COOKIE=false -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

Warning: Dadurch wird das N8N-Administrationspanel über unverschlüsseltes HTTP zugänglich gemacht, was es anfällig für MITM-Angriffe (Man-In-The-Middle) macht und es einem Angreifer ermöglicht, Ihren Server vollständig zu übernehmen.

Siehe auch:



Aktualisiert: 12.08.2025

Veröffentlicht: 23.06.2025