Ein n8n-Docker-Install er­mög­licht es Ihnen, die flexible Low-Code-Au­to­ma­ti­sie­rungs­platt­form schnell und struk­tu­riert auf­zu­set­zen. In dieser Anleitung wird der gesamte In­stal­la­ti­ons­pro­zess, von der Vor­be­rei­tung des Servers bis zur laufenden Instanz von n8n, ver­ständ­lich und praxisnah gezeigt. So können Sie auch ohne Vor­kennt­nis­se Schritt für Schritt Ihre eigene Umgebung für au­to­ma­ti­sier­te Workflows ein­rich­ten.

Schritt 1: Vor­aus­set­zun­gen prüfen und passende Server-Umgebung wählen

Bevor Sie mit der ei­gent­li­chen In­stal­la­ti­on von n8n beginnen, sollten Sie si­cher­stel­len, dass Ihre Umgebung geeignet ist. n8n ist zwar res­sour­cen­scho­nend, kann aber je nach Nutzung un­ter­schied­lich hohe An­for­de­run­gen haben. Ins­be­son­de­re, wenn viele Workflows, In­te­gra­tio­nen oder KI-Funk­tio­nen genutzt werden, steigen die An­for­de­run­gen.

Grund­sätz­lich benötigen Sie:

  • Einen Server (VPS oder lokal)
  • Ein in­stal­lier­tes Linux-System (z. B. Ubuntu 24.04)
  • Zugriff per SSH
  • Grund­le­gen­de Terminal-Kennt­nis­se
  • Eine Domain (optional, aber empfohlen für pro­duk­ti­ve Nutzung)

Je nach Ein­satz­be­reich un­ter­schei­den sich die An­for­de­run­gen deutlich. Die folgende Übersicht hilft Ihnen dabei, die passende Ser­ver­grö­ße für Ihre geplante Nutzung aus­zu­wäh­len.

Hinweis

Das Self-Hosting von n8n bietet Ihnen maximale Kontrolle und Fle­xi­bi­li­tät, erfordert jedoch auch tech­ni­sches Grund­wis­sen im Umgang mit Servern, Docker und Netz­werk­kon­fi­gu­ra­tio­nen. Fehler bei der Ein­rich­tung oder im laufenden Betrieb können zu Si­cher­heits­lü­cken, Da­ten­ver­lust oder Ausfällen führen. Stellen Sie daher sicher, dass Sie Ihre In­stal­la­ti­on re­gel­mä­ßig prüfen, absichern und Backups ein­rich­ten, ins­be­son­de­re wenn n8n produktiv ein­ge­setzt wird.

Privater Gebrauch und kleine Projekte

Wenn Sie n8n privat nutzen möchten, zum Beispiel für einfache Au­to­ma­ti­sie­run­gen wie das Versenden von Nach­rich­ten, kleine Bots oder per­sön­li­che Workflows, reichen geringe Res­sour­cen aus. Typische Beispiele sind n8n-Telegram-Bots, kleine n8n-Discord-Au­to­ma­tio­nen oder einfache API-Ver­knüp­fun­gen.

In diesem Szenario ist die Anzahl der gleich­zei­ti­gen Workflows gering, ebenso wie die Da­ten­men­ge. Auch die Aus­füh­rung erfolgt meist nicht parallel in großem Umfang. Dadurch bleibt die CPU-Aus­las­tung niedrig und der RAM-Verbrauch über­schau­bar. Wichtig ist hier vor allem eine stabile Umgebung, weniger die maximale Leistung. Backups sollten Sie dennoch einplanen, da Ihre Workflows und Daten wertvoll sein können.

Startups und wachsende Projekte

Sobald Sie n8n aktiv in Projekten einsetzen, bei­spiels­wei­se für Marketing-Au­to­ma­ti­sie­rung, Lead-Ver­ar­bei­tung oder interne Tools wie ge­schäft­li­che n8n-Discord-Bots, steigen die An­for­de­run­gen. Workflows werden komplexer, laufen häufiger und greifen auf mehr externe Dienste zu. Auch LLM-In­te­gra­tio­nen werden in diesen Szenarien oftmals genutzt.

Hier pro­fi­tie­ren Sie von zu­sätz­li­chem Ar­beits­spei­cher und mehr CPU-Kernen, um parallele Aus­füh­run­gen stabil zu er­mög­li­chen. Gerade wenn Webhooks genutzt werden oder viele Events gleich­zei­tig ein­tref­fen, ist eine leis­tungs­fä­hi­ge­re Umgebung ent­schei­dend. Auch die Spei­che­rung von Daten wächst bei der­ar­ti­gen Projekten durch Logs, Workflow-Historien oder API-Daten. Eine schnelle NVMe-Fest­plat­te sorgt dafür, dass diese Daten effizient ver­ar­bei­tet werden können.

Kleine und mittlere Un­ter­neh­men (KMU)

In Un­ter­neh­men wird n8n häufig als zentrale Au­to­ma­ti­sie­rungs­platt­form genutzt. Typische An­wen­dungs­fäl­le sind CRM-In­te­gra­tio­nen, ERP-An­bin­dun­gen, Da­ten­pipe­lines oder au­to­ma­ti­sier­te Reports. Die Workflows sind hier oft ge­schäfts­kri­tisch und müssen zu­ver­läs­sig sowie per­for­mant laufen. Gleich­zei­tig steigt die Anzahl der Nut­ze­rin­nen und Nutzer sowie Prozesse deutlich an.

Eine höhere CPU-Leistung sorgt dafür, dass mehrere komplexe Workflows gleich­zei­tig aus­ge­führt werden können. Mehr RAM ist notwendig, um große Da­ten­men­gen oder API-Antworten zu ver­ar­bei­ten. Auch Aspekte wie Mo­ni­to­ring, Si­cher­heit und Backups werden in diesem Umfeld wichtiger, sodass eine stabile Umgebung es­sen­zi­ell ist.

Skalierte und da­ten­in­ten­si­ve An­wen­dun­gen

Wenn Sie n8n in größerem Umfang einsetzen und da­ten­in­ten­si­ve Prozesse und KI-Workflows umsetzen, benötigen Sie eine deutlich leis­tungs­stär­ke­re Umgebung. Hier laufen häufig viele Workflows parallel, teilweise mit komplexer Logik oder großen Da­ten­men­gen. Auch War­te­schlan­gen (so­ge­nann­te Queues) oder externe Da­ten­ban­ken kommen oft zum Einsatz. In solchen Szenarien sollten Sie nicht nur auf CPU und RAM achten, sondern auch auf Ska­lier­bar­keit. Con­tai­ne­ri­sie­rung mit Docker ist hier ein großer Vorteil, da Sie n8n flexibel erweitern können.

Übersicht der emp­foh­le­nen Server-Kon­fi­gu­ra­tio­nen

Die Wahl der passenden Server-Res­sour­cen ist ent­schei­dend für eine stabile und per­for­man­te In­stal­la­ti­on von n8n. Je nach Ein­satz­be­reich un­ter­schei­den sich die An­for­de­run­gen teilweise deutlich. Die folgende Übersicht hilft Ihnen dabei, schnell die passende Ser­ver­grö­ße für Ihren konkreten An­wen­dungs­fall zu bestimmen.

An­wen­dungs­ge­biet Emp­foh­le­ne Res­sour­cen
Private Zwecke / kleine Projekte 2–4 vCores, 4 GB RAM, 80–120 GB NVMe
Startups / wachsende Projekte 4–6 vCores, 6–8 GB RAM, 120–240 GB NVMe
KMU 6–8 vCores, 8–16 GB RAM, 240–400 GB NVMe
Skalierte An­wen­dun­gen 8+ vCores, 16+ GB RAM, 400+ GB NVMe
Self-hosted n8n
Mehr Pro­duk­ti­vi­tät dank n8n Au­to­ma­ti­sie­rung – Ihr bester VPS
  • Maximale Effizienz ohne Mehr­auf­wand
  • Self-hosted Au­to­ma­ti­on: Keine Task-Limits, volle Kos­ten­kon­trol­le
  • Über 500 In­te­gra­tio­nen & Tools dank Open Source
Tipp

Wenn Sie aktuell mit Zapier arbeiten und an Grenzen stoßen (z. B. bei Kosten oder Fle­xi­bi­li­tät), kann sich eine Zapier-Migration zu n8n lohnen. Besonders bei vielen oder komplexen Workflows pro­fi­tie­ren Sie im Vergleich n8n vs. Zapier bei ersterem von mehr Kontrolle und ge­rin­ge­ren laufenden Kosten.

Schritt 2: Docker auf dem Server in­stal­lie­ren

Eine einfache Mög­lich­keit, n8n zu in­stal­lie­ren, ist ein n8n-Docker-Install. Hierzu benötigen Sie in einem ersten Schritt die Con­tai­ner­platt­form Docker. Docker sorgt dafür, dass n8n in einem iso­lier­ten Container läuft und einfach verwaltet werden kann.

Verbinden Sie sich zunächst per SSH mit Ihrem Server:

ssh user@IHRE_SERVER_IP
bash

Ak­tua­li­sie­ren Sie dann die Pa­ket­lis­te Ihres Systems, damit alle ver­füg­ba­ren Soft­ware­quel­len auf dem neuesten Stand sind. So stellen Sie sicher, dass Sie aktuelle und sichere Versionen in­stal­lie­ren:

sudo apt update && sudo apt upgrade -y
bash

In­stal­lie­ren Sie an­schlie­ßend Docker. Dabei wird die Container-Engine auf Ihrem System ein­ge­rich­tet, sodass Sie später einfach ein n8n-Docker-Setup durch­füh­ren können:

sudo apt install docker.io -y
bash
Hinweis

In dieser Anleitung wird Docker der Ein­fach­heit halber direkt über die Pa­ket­ver­wal­tung in­stal­liert. Für pro­duk­ti­ve Um­ge­bun­gen empfiehlt Docker jedoch die In­stal­la­ti­on über das of­fi­zi­el­le Docker-Re­po­si­to­ry, da Sie so stets aktuelle Versionen und das aktuelle Compose-Plugin erhalten.

Starten Sie Docker und sorgen Sie dafür, dass der Dienst beim Sys­tem­start au­to­ma­tisch aus­ge­führt wird. So müssen Sie Docker nicht jedes Mal manuell starten. Dies gelingt mit folgenden Ter­mi­nal­be­feh­len:

sudo systemctl start docker
sudo systemctl enable docker
bash

Über­prü­fen Sie nun, ob Docker korrekt in­stal­liert wurde. Die Ausgabe der Version zeigt Ihnen, dass die In­stal­la­ti­on er­folg­reich war:

docker --version
bash
Bild: Docker-Versionsanzeige
Die Anzeige der Version bestätigt eine er­folg­rei­che Docker-In­stal­la­ti­on.

Optional können Sie einen Test­con­tai­ner starten. Damit prüfen Sie, ob Docker auch tat­säch­lich Container ausführen kann. Dieser Schritt wird definitiv empfohlen.

sudo docker run hello-world
bash

Wenn hier eine Er­folgs­mel­dung erscheint, ist Docker voll­stän­dig funk­ti­ons­fä­hig und bereit für den Docker-n8n-Install.

Bild: Docker: Hello-World-Container
Wenn der Hello-World-Container er­folg­reich startet, können Sie sicher sein, dass Docker funk­ti­ons­fä­hig auf Ihrem Server läuft.

Schritt 3: Docker Compose in­stal­lie­ren

Für die In­stal­la­ti­on von n8n empfiehlt sich Docker Compose, da Sie damit Container und deren Kon­fi­gu­ra­ti­on zentral über eine Datei steuern können. Das ist besonders hilfreich, wenn Sie später An­pas­sun­gen vornehmen oder mehrere Dienste mit­ein­an­der kom­bi­nie­ren möchten. In­stal­lie­ren Sie Docker Compose mit folgendem Befehl. Dadurch wird das not­wen­di­ge Tool ergänzt, um so­ge­nann­te docker-compose.yml-Dateien aus­zu­füh­ren:

sudo apt install docker-compose -y
bash

Prüfen Sie an­schlie­ßend, ob die In­stal­la­ti­on er­folg­reich war. Die Ver­si­ons­aus­ga­be zeigt Ihnen, dass Docker Compose korrekt verfügbar ist:

docker-compose --version
bash
Bild: Docker Compose-Versionsanzeige
Die Anzeige der Ver­si­ons­num­mer bestätigt eine er­folg­rei­che Docker Compose-In­stal­la­ti­on.

Al­ter­na­tiv können Sie die mitt­ler­wei­le emp­foh­le­ne of­fi­zi­el­le Docker Compose V2 Plugin-In­stal­la­ti­on nutzen und damit den modernen docker compose-Befehl ak­ti­vie­ren. Auf Ubuntu/Debian Systemen geht das wie folgt:

sudo apt update
sudo apt install docker-compose-plugin
bash

Den Erfolg der In­stal­la­ti­on prüfen Sie an­schlie­ßend dann fol­gen­der­ma­ßen:

docker compose version
bash
Tipp

Für den pro­duk­ti­ven Betrieb ist eine de­di­zier­te Datenbank wie Post­greS­QL gegenüber der Standard-SQLite-Datei zu be­vor­zu­gen. Post­greS­QL ver­hin­dert Sperr­kon­flik­te bei mehreren gleich­zei­ti­gen Workflows und ist Vor­aus­set­zung für ska­lier­ba­re Setups.

Schritt 4: n8n mit Docker Compose kon­fi­gu­rie­ren

In diesem Schritt kümmern wir uns um das n8n-Docker-Setup. Dafür erstellen Sie eine so­ge­nann­te docker-compose.yml-Datei. Diese Datei be­schreibt die komplette Kon­fi­gu­ra­ti­on Ihres Con­tai­ners, also legt Image, Ports, Zu­gangs­da­ten und Spei­cher­or­te fest. Sie dient später als zentrale Steu­er­da­tei, über die Sie n8n starten, stoppen oder anpassen können.

Erstellen Sie zunächst ein eigenes Ver­zeich­nis für Ihre n8n-In­stal­la­ti­on. So bleiben alle Dateien über­sicht­lich an einem Ort ge­spei­chert:

mkdir n8n && cd n8n
bash

Nun legen Sie die Kon­fi­gu­ra­ti­ons­da­tei an:

nano docker-compose.yml
bash

Fügen Sie folgenden Inhalt in die soeben erstellte Datei ein:

version: "3"
 
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Europe/Berlin
      - TZ=Europe/Berlin
    volumes:
      - ./n8n_data:/home/node/.n8n
yaml

Diese Kon­fi­gu­ra­ti­on definiert Ihren n8n-Container im Detail. Unser Compose-Beispiel ist für den ersten Test­zu­griff über die Server-IP ausgelegt. Domain-, HTTPS- und Webhook-Ein­stel­lun­gen wie N8N_HOST, N8N_PROTOCOL und WEBHOOK_URL sollten erst gesetzt werden, wenn n8n über eine eigene Domain und einen Reverse Proxy er­reich­bar ist. Folgende Ein­stel­lun­gen werden getätigt:

  • image: docker.n8n.io/n8nio/n8n legt fest, dass das of­fi­zi­el­le n8n-Docker-Image verwendet wird. Verwenden Sie hier einen festen Image-Tag (z. B. docker.n8n.io/n8nio/n8n:2.13.3), vermeiden Sie un­ge­woll­te au­to­ma­ti­sche Updates oder Ver­si­ons­sprün­ge und sorgen so für mehr Sta­bi­li­tät bei pro­duk­ti­ven In­stal­la­tio­nen.
  • restart: always sorgt dafür, dass n8n au­to­ma­tisch neu startet, falls der Container stoppt oder der Server neu gestartet wird.
  • ports: "5678:5678" verbindet den Container mit Ihrem Server, sodass Sie n8n später über den Browser erreichen können.
  • volumes stellt sicher, dass Ihre Daten dauerhaft ge­spei­chert werden und bei einem Neustart nicht verloren gehen. Dies ist besonders wichtig: Ohne diesen würden Ihre Workflows, Zu­gangs­da­ten und Ein­stel­lun­gen verloren gehen, sobald der Container neu erstellt wird.
Hinweis

n8n verwendet in aktuellen Versionen ein in­te­grier­tes Benutzer- und Login-System. Beim ersten Aufruf der Web­ober­flä­che legen Sie ein Ad­mi­nis­tra­ti­ons­kon­to an, über das Sie sich künftig anmelden. Zu­sätz­li­che Au­then­ti­fi­zie­rungs­me­cha­nis­men wie Basic Auth sind in aktuellen Versionen nicht mehr vor­ge­se­hen. Für pro­duk­ti­ve Um­ge­bun­gen empfiehlt es sich statt­des­sen, den Zugriff über HTTPS sowie optional über Netz­werk­re­geln oder einen Reverse Proxy weiter ab­zu­si­chern.

Schritt 5: n8n starten

Nachdem die Kon­fi­gu­ra­ti­on ab­ge­schlos­sen ist, können Sie nun Ihren n8n-Docker-Install starten. Dabei wird der Container auf Basis der zuvor de­fi­nier­ten docker-compose.yml erstellt und im Hin­ter­grund aus­ge­führt. Starten Sie n8n mit folgendem Befehl:

sudo docker compose up -d
bash

Der Parameter -d steht für „detached mode“. Das bedeutet, dass der Container im Hin­ter­grund läuft und Ihr Terminal weiterhin nutzbar bleibt. Beim ersten Start lädt Docker au­to­ma­tisch das n8n-Image herunter, falls es noch nicht vorhanden ist.

Über­prü­fen Sie an­schlie­ßend, ob der Container korrekt läuft:

sudo docker ps
bash

In der Ausgabe sollten Sie einen Eintrag für n8n sehen. Wichtig ist dabei der Status „Up“, da dieser zeigt, dass der Container aktiv ist.

Bild: n8n Docker-Container
Der Status Ihres n8n-Con­tai­ners muss „Up“ sein. Dies bestätigt, dass der Container läuft und n8n er­reich­bar ist.

Wenn alles funk­tio­niert, können Sie n8n direkt im Browser öffnen. Geben Sie dazu die IP-Adresse Ihres Servers und den Port 5678 ein:

http://IHRE_SERVER_IP:5678
bash

Beim ersten Zugriff sehen Sie die Login-Seite von n8n. Beim ersten Aufruf von n8n werden Sie au­to­ma­tisch durch die Erst­ein­rich­tung geführt. Dabei legen Sie ein Ad­mi­nis­tra­ti­ons­kon­to direkt im Browser an. Diese Zu­gangs­da­ten verwenden Sie an­schlie­ßend für den Login. Damit ist Ihr n8n-Docker-Setup er­folg­reich ab­ge­schlos­sen und Sie können direkt mit dem Erstellen Ihrer ersten n8n-Workflows beginnen.

Schritt 6: n8n absichern und produktiv betreiben

Nach der er­folg­rei­chen In­stal­la­ti­on sollten Sie Ihre n8n-Instanz für den pro­duk­ti­ven Einsatz absichern. Stan­dard­mä­ßig ist n8n über eine einfache HTTP-Ver­bin­dung er­reich­bar, was für Tests aus­rei­chend, aber für den echten Betrieb nicht sicher genug ist.

Ein zentraler Schritt zur Ab­si­che­rung von n8n ist daher die Nutzung einer eigenen Domain anstelle der reinen IP-Adresse. Dadurch können Sie Ihre Anwendung sauber er­reich­bar machen und später pro­blem­los HTTPS ak­ti­vie­ren.

Hierzu sollten in der YAML-Datei die passenden Host- und Webhook-Variablen ergänzt werden:

environment:
    - N8N_HOST=your-domain.com
    - N8N_PROTOCOL=https
    - WEBHOOK_URL=https://your-domain.com/
yaml

Zu­sätz­lich empfiehlt sich der Einsatz eines Reverse Proxys wie Nginx, der Anfragen ent­ge­gen­nimmt und sicher an Ihren n8n-Container wei­ter­lei­tet.

Ein weiterer wichtiger Punkt ist die Ver­schlüs­se­lung per HTTPS. Mit Let’s Encrypt können Sie kostenlos ein SSL-Zer­ti­fi­kat ein­rich­ten, sodass alle Daten ver­schlüs­selt über­tra­gen werden. Das ist vor allem wichtig, da in n8n häufig API-Keys, Zu­gangs­da­ten und sensible In­for­ma­tio­nen ver­ar­bei­tet werden.

Auch auf An­wen­dungs­ebe­ne sollten Sie auf Si­cher­heit achten. Verwenden Sie ein sicheres Passwort für Ihr Ad­mi­nis­tra­tor­kon­to, ändern Sie Stan­dard­wer­te und stellen Sie sicher, dass nur be­rech­tig­te Personen Zugriff auf Ihre Instanz haben. Zu­sätz­lich sind re­gel­mä­ßi­ge Backups von großem Nutzen, um Ihre Workflows und Kon­fi­gu­ra­tio­nen im Feh­ler­fall wie­der­her­stel­len zu können.

Hinweis

Neben der klas­si­schen Docker-In­stal­la­ti­on gibt es weitere Mög­lich­kei­ten, n8n zu betreiben. Dazu gehören unter anderem eine n8n-Ku­ber­netes-In­stal­la­ti­on für ska­lier­ba­re Um­ge­bun­gen, n8n CapRover für ver­ein­fach­tes De­ploy­ment oder n8n mit CasaOS für lokale Setups.

Zum Hauptmenü