Kurz gesagt: Der einfachste Weg, n8n selbst zu installieren, ist heute Docker. n8n stellt dafür ein offizielles One-Line-Setup bereit (curl -fsSL https://get.n8n.io | sh), das alle Konfigurationsdateien anlegt und n8n startet. Für einen Server, den ein Team produktiv nutzt, kommen drei Dinge dazu: eine PostgreSQL-Datenbank statt SQLite, HTTPS über einen Reverse Proxy und regelmäßige Backups. Die Installation per npm ist ab n8n 3.0 abgekündigt.
Welche Installationswege gibt es?
n8n bietet laut offizieller Dokumentation mehrere Wege an:
| Weg | Für wen | Hinweis |
|---|---|---|
| One-Line-Setup (Docker) | schneller Start auf einem Linux-Server oder Rechner | legt Ordner, .env und compose.yml automatisch an |
| Docker Compose (selbst geschrieben) | volle Kontrolle, Einbau in bestehende Compose-Projekte | empfohlen, wenn Sie PostgreSQL und eigene Einstellungen wollen |
| npm / npx | nur noch für bestehende Installationen | ab n8n 3.0 abgekündigt, Node.js 20.19 bis 24.x nötig |
| n8n Cloud | wer gar keinen Server betreiben möchte | gehostet von n8n selbst |
n8n schreibt selbst, dass Self-Hosting Erfahrung mit Servern, Containern und Absicherung voraussetzt. Fehler können zu Datenverlust, Sicherheitslücken und Ausfällen führen. Planen Sie die Zeit dafür ein, oder lassen Sie den Server betreuen.
Systemanforderungen
- Betriebssystem: ein 64-Bit-Linux, auf dem Docker Engine läuft, zum Beispiel Ubuntu 24.04 LTS oder 22.04 LTS. Unter Windows funktioniert das Setup über WSL 2.
- Docker Engine mit Docker Compose v2. Prüfen Sie das mit
docker compose version. Das älteredocker-composereicht für das One-Line-Setup nicht. - Ressourcen: Für die vollständige Compose-Installation mit der Sandbox, die der n8n Assistant für KI-generierten Code nutzt, nennt n8n mindestens 4 GB RAM und 2 vCPUs. Ohne Assistant und mit wenigen Workflows kommt n8n mit weniger aus, aber 4 GB sind ein vernünftiger Startpunkt.
- Ein Port: n8n läuft auf Port 5678. Nach außen sollte nur der Reverse Proxy (Port 443) offen sein.
Schritt 1: Docker installieren
Auf einem frischen Ubuntu-Server installieren Sie Docker am saubersten über das offizielle apt-Repository von Docker. Die vollständigen Befehle stehen in der Docker-Dokumentation (Install Docker Engine on Ubuntu); der letzte Schritt lautet:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
Das Docker-Skript unter get.docker.com ist laut Docker nur für Test- und Entwicklungsumgebungen gedacht. Ausführlicher erklären wir Docker im Blog Docker auf eigenem VPS betreiben.
Schritt 2: n8n mit dem One-Line-Setup starten
curl -fsSL https://get.n8n.io | sh
Das Skript prüft, ob Docker läuft, legt im aktuellen Verzeichnis einen Ordner n8n an, schreibt die Konfiguration (compose.yml, .env mit zufällig erzeugten Geheimnissen, searxng-settings.yml) und startet n8n. Danach erreichen Sie n8n unter http://localhost:5678 beziehungsweise über die IP Ihres Servers.
Sie möchten kein Skript aus dem Internet direkt ausführen? n8n empfiehlt dann:
curl -fsSL https://get.n8n.io -o get-n8n.sh
less get-n8n.sh # erst lesen
sh get-n8n.sh
Die wichtigsten Befehle für den Alltag:
| Aufgabe | Befehl |
|---|---|
| Stoppen | docker compose -f ./n8n/compose.yml down |
| Starten | docker compose -f ./n8n/compose.yml up -d |
| Aktualisieren | curl -fsSL https://get.n8n.io \| sh -s -- --upgrade |
Achtung: docker compose … down -v löscht zusätzlich das Volume und damit alle Workflows und Zugangsdaten.
Schritt 3: PostgreSQL statt SQLite
Standardmäßig speichert n8n Workflows, Zugangsdaten und Ausführungen in SQLite, einer Datenbank in einer einzelnen Datei. Für Tests ist das in Ordnung. Für einen Server, auf dem mehrere Personen arbeiten oder Workflows rund um die Uhr laufen, empfiehlt n8n PostgreSQL.
Dazu ergänzen Sie in der compose.yml einen PostgreSQL-Dienst mit eigenem Volume und geben n8n die Verbindungsdaten als Umgebungsvariablen (DB_TYPE=postgresdb, DB_POSTGRESDB_HOST, DB_POSTGRESDB_DATABASE, DB_POSTGRESDB_USER, DB_POSTGRESDB_PASSWORD). Eine fertige Vorlage liegt im offiziellen Repository n8n-hosting/docker-compose/withPostgres.
Zwei Hinweise aus der n8n-Dokumentation:
- Bestehende SQLite-Daten werden nicht automatisch in PostgreSQL übernommen. Entscheiden Sie sich am besten vor dem produktiven Start.
- Bei PostgreSQL 18 hat sich der Standard-Speicherort der Daten geändert. Übernehmen Sie die
PGDATA-Zeile aus der Vorlage, sonst landen die Daten außerhalb Ihres Volumes.
Schritt 4: HTTPS und eigene Domain
Webhooks von externen Diensten (zum Beispiel GitHub, Stripe oder ein Formular) brauchen eine öffentlich erreichbare HTTPS-Adresse. Üblich ist ein Reverse Proxy wie Caddy, Traefik oder nginx vor n8n, der das TLS-Zertifikat (zum Beispiel von Let's Encrypt) verwaltet und Anfragen an Port 5678 weiterreicht. Setzen Sie in n8n außerdem die öffentliche Adresse über die Umgebungsvariable WEBHOOK_URL, damit n8n korrekte Webhook-Links erzeugt.
Öffnen Sie in der Firewall nur Port 443 (und 80 für die Zertifikatsausstellung). Die internen Dienste der Assistant-Sandbox dürfen laut n8n nie direkt aus dem Internet erreichbar sein.
Schritt 5: Updates und Backups
- Updates: n8n veröffentlicht laut eigener Dokumentation fast jede Woche eine neue Version. Testen Sie größere Updates zuerst auf einer Kopie, und lesen Sie die Release Notes.
- Backups: Sichern Sie das Datenbank-Volume und das n8n-Datenverzeichnis. Dort liegt unter anderem der Verschlüsselungsschlüssel für Ihre gespeicherten Zugangsdaten. Ohne ihn lassen sich die Credentials nach einer Wiederherstellung nicht mehr entschlüsseln.
- Wiederherstellung testen: Ein Backup, das nie zurückgespielt wurde, ist nur eine Hoffnung. Mehr dazu im Blog Website-Backup: wie oft und wie?.
Typische Fehler
| Problem | Ursache |
|---|---|
| Webhooks kommen nicht an | WEBHOOK_URL fehlt oder zeigt auf localhost |
| Zeitgesteuerte Workflows laufen zur falschen Uhrzeit | Zeitzone nicht gesetzt (GENERIC_TIMEZONE, TZ) |
| Zugangsdaten nach Umzug unlesbar | Verschlüsselungsschlüssel aus dem alten Datenverzeichnis nicht mitgenommen |
| One-Line-Setup bricht ab | nur docker-compose (v1) installiert, nicht das Compose-v2-Plugin |
| Server wird langsam | zu wenig RAM für Assistant-Sandbox und viele parallele Ausführungen |
Selbst installieren oder betreuen lassen?
Die Installation ist in einer Stunde erledigt. Aufwendig ist der Betrieb danach: Updates im Wochentakt, Backups, Zertifikate, Sicherheits-Patches für das Betriebssystem und die Frage, wer reagiert, wenn nachts ein Workflow hängt.
Bei GB Hosting übernehmen wir den Server darunter: Ihr Managed VPS läuft in Deutschland mit dedizierter vCPU und dediziertem RAM, Sicherheitsupdates des Betriebssystems, täglichen Backups und einem Auftragsverarbeitungsvertrag nach DSGVO. Mehr dazu: Managed VPS.
Häufige Fragen
Kann ich n8n ohne Docker installieren?
Ja, über npm (npm install n8n -g), solange Node.js 20.19 bis 24.x installiert ist. n8n hat npm-Installationen aber ab Version 3.0 abgekündigt und empfiehlt für neue Installationen Docker.
Wie viel RAM braucht n8n?
Für die vollständige Docker-Compose-Installation mit Assistant-Sandbox nennt n8n mindestens 4 GB RAM und 2 vCPUs. Wie viel Sie wirklich brauchen, hängt von der Zahl gleichzeitiger Ausführungen und der Datenmenge pro Workflow ab.
Ist eine selbst installierte n8n-Instanz DSGVO-konform?
Das hängt vom Betrieb ab, nicht von der Software allein: Serverstandort, Auftragsverarbeitungsvertrag mit dem Hoster, Zugriffsschutz und die Dienste, die Ihre Workflows ansprechen. Siehe DSGVO-konformes Hosting.