n8n Self-Hosted: DSGVO-konform mit Docker in der EU
n8n self-hosted produktiv betreiben: Docker Compose mit PostgreSQL und HTTPS auf einem EU-Server, dazu Backups, Updates, Queue-Modus, Lizenz und DSGVO.
Inhalt
n8n self-hosted bedeutet: Sie betreiben die kostenlose Community Edition von n8n auf einem eigenen Server, statt die n8n Cloud zu mieten. Für den Produktivbetrieb brauchen Sie Docker Compose mit PostgreSQL, HTTPS über einen vorgeschalteten Webserver, tägliche Backups samt Verschlüsselungsschlüssel, monatliche Updates und einen Server in der EU mit Auftragsverarbeitungsvertrag.
Aktualisiert: Oktober 2026. Geprüft am 16. Oktober 2026 gegen die offizielle n8n-Dokumentation und die an diesem Tag stabile Version 2.43.7. n8n erscheint fast jede Woche neu. Prüfen Sie Versionsnummern und Variablen vor der Installation bitte selbst.
Ich bin Linh Phung Hoang, Full-Stack-Entwickler in Berlin mit acht Jahren Berufserfahrung. Ich habe RAG-Anwendungen und KI-Agenten gebaut und automatisiere Büroabläufe, oft mit n8n. Viele Anleitungen enden, sobald der Container läuft. Hier geht es um das, was danach kommt: Zugangsschutz, Backups, Updates, Datenschutz und die Frage, was die Lizenz erlaubt. Wenn Sie den Betrieb lieber abgeben, finden Sie am Ende den Hinweis auf den kostenlosen Prozess-Check.
n8n self-hosted oder n8n Cloud: Was passt zu Ihnen?
n8n ist ein Werkzeug, mit dem Sie Geschäftsprozesse im Büro verbinden und automatisieren: Anfragen sortieren, Belege ablegen, Daten zwischen CRM und Buchhaltung abgleichen. Die Software gibt es als gemieteten Dienst (n8n Cloud) und als Software für den eigenen Server. Beide Wege sind seriös. Der Unterschied liegt darin, wer den Betrieb verantwortet.
| Kriterium | n8n Cloud | n8n self-hosted auf EU-Server |
|---|---|---|
| Betrieb, Updates, Backups | übernimmt n8n | übernehmen Sie oder Ihr Dienstleister |
| Datenstandort | EU, auf Microsoft Azure (laut n8n) | der Standort, den Sie wählen, zum Beispiel Nürnberg |
| Vertragspartner für den AVV | n8n | Ihr Hoster, zum Beispiel Hetzner |
| Ausführungen pro Monat | Kontingent je Tarif, Starter 2.500, Pro 10.000 | keine Grenze durch die Lizenz |
| Kosten (Stand Oktober 2026, bitte prüfen) | ab 20 € im Monat bei jährlicher Zahlung | Server ab rund 20 € netto, dazu Ihre Arbeitszeit |
| Workflows unter Kollegen teilen | ja, im Rahmen des Tarifs | nicht in der Community Edition |
| Passt für | Teams ohne Server-Erfahrung, kleine Mengen | Firmen mit klarer IT-Zuständigkeit, sensible Daten, hohe Mengen |
Ein verbreiteter Irrtum: Manche Anleitungen schreiben, die n8n Cloud laufe auf US-Servern. Laut n8n stehen Hardware und Daten in der EU. Der Betreiber der Infrastruktur ist allerdings Microsoft, ein US-Konzern. Für Berufsgeheimnisträger oder Gesundheitsdaten kann das der Grund sein, selbst zu hosten.
Wenn Sie noch nicht sicher sind, ob n8n überhaupt das richtige Werkzeug ist, hilft der Vergleich n8n vs. Make vs. Zapier.
Was brauchen Sie, um n8n selbst zu hosten?
Server. Ein Linux-Server (zum Beispiel Ubuntu LTS) mit 2 virtuellen Kernen und 4 GB Arbeitsspeicher reicht für eine kleine Firma. Laut n8n-Anleitung für Hetzner genügt für die meisten Fälle schon ein kleiner Servertyp, mit dem eingebauten KI-Assistenten von n8n sollten es mindestens 4 GB sein. Ich plane lieber etwas Luft ein, weil KI- und PDF-Workflows Arbeitsspeicher brauchen. Wählen Sie ein Rechenzentrum in Deutschland oder der EU.
Domain. Eine Subdomain wie n8n.ihre-firma.de mit einem A-Eintrag, der auf die IP-Adresse des Servers zeigt.
Software. Docker ist eine Software, die Programme in abgeschotteten Containern startet. Docker Compose beschreibt mehrere zusammengehörige Container in einer Datei. Sie brauchen Docker Engine und Compose in Version 2.
E-Mail-Versand. Ein SMTP-Zugang (das Postfach, über das n8n Mails verschickt) für Einladungen und Passwort-Resets. Ohne SMTP können Nutzer laut Doku zur Benutzerverwaltung ihr Passwort nicht selbst zurücksetzen.
Kosten. Hetzner hat die Preise 2026 erhöht. Laut einer Auswertung vom September 2026 kostete ein Server mit 2 Kernen und 4 GB (CPX22) 19,99 € netto im Monat, mit 8 GB (CPX32) 35,99 €. Die Preise gelten für Deutschland und Finnland, inklusive IPv4. Die günstigeren Cost-Optimized-Server waren laut derselben Quelle Anfang September als nicht verfügbar markiert. Prüfen Sie die aktuelle Preisliste vor der Bestellung. Der Server ist trotzdem der kleinste Posten. In der Beispielrechnung im Artikel n8n Kosten 2026 (Annahmen: 75 € Stundensatz, 6 Stunden Einrichtung, 2 Stunden Wartung im Monat) kommt eine kleine Instanz im ersten Jahr auf rund 210 € im Monat, fast alles davon Arbeitszeit.
Zeit. Die folgenden Werte sind meine Schätzung für eine Instanz mit einer Handvoll Workflows, keine Messung:
| Aufgabe | Wie oft | Aufwand |
|---|---|---|
| Ersteinrichtung mit Backup und Überwachung | einmalig | 4 bis 8 Stunden |
| Update einspielen und Workflows prüfen | mindestens monatlich | 30 bis 60 Minuten |
| Sicherheitshinweise lesen | wöchentlich | 10 Minuten |
| Wiederherstellung testen | vierteljährlich | 1 bis 2 Stunden |
Wie installieren Sie n8n mit Docker Compose?
Die folgende Konfiguration baut auf der offiziellen Vorlage withPostgres von n8n auf. Ich ergänze, was dort für den Produktivbetrieb fehlt: HTTPS über Caddy, feste Versionen, einen eigenen Schlüssel und Datenschutz-Einstellungen. Caddy ist ein Reverse Proxy, also ein vorgeschalteter Webserver, der HTTPS-Zertifikate von Let's Encrypt automatisch holt und erneuert.
Schritt 1: Server vorbereiten
Melden Sie sich nur mit SSH-Schlüssel an und schalten Sie die Passwort-Anmeldung ab. Installieren Sie Docker nach der offiziellen Anleitung oder wählen Sie bei Hetzner direkt das Image „Docker CE“.
Begrenzen Sie dann die Größe der Container-Protokolle. Docker rotiert sie standardmäßig nicht, sie wachsen also unbegrenzt. Legen Sie die Datei /etc/docker/daemon.json an und starten Sie Docker neu, bevor Sie die Container erstellen:
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "5" }
}
Schritt 2: Ordner und Geheimnisse anlegen
mkdir -p /opt/n8n && cd /opt/n8n
cat > .env <<EOF
N8N_VERSION=2.43.7
N8N_HOST=n8n.ihre-firma.de
N8N_ENCRYPTION_KEY=$(openssl rand -hex 32)
RUNNERS_AUTH_TOKEN=$(openssl rand -hex 32)
POSTGRES_USER=pgadmin
POSTGRES_PASSWORD=$(openssl rand -hex 24)
POSTGRES_DB=n8n
POSTGRES_NON_ROOT_USER=n8n
POSTGRES_NON_ROOT_PASSWORD=$(openssl rand -hex 24)
EOF
chmod 600 .env
curl -O https://raw.githubusercontent.com/n8n-io/n8n-hosting/main/docker-compose/withPostgres/init-data.sh
Das Skript init-data.sh aus der offiziellen Vorlage legt beim ersten Start einen eigenen Datenbanknutzer für n8n an, damit n8n nicht mit dem Administrator-Konto der Datenbank arbeitet. Die aktuelle stabile Version finden Sie auf der Release-Seite von n8n.
Schritt 3: Die Datei compose.yaml
# n8n mit PostgreSQL, Caddy (HTTPS) und separatem Task Runner
x-n8n-env: &n8n-env
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_DATABASE: ${POSTGRES_DB}
DB_POSTGRESDB_USER: ${POSTGRES_NON_ROOT_USER}
DB_POSTGRESDB_PASSWORD: ${POSTGRES_NON_ROOT_PASSWORD}
N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
N8N_HOST: ${N8N_HOST}
N8N_PROTOCOL: https
N8N_PROXY_HOPS: "1"
N8N_WEBHOOK_URL: https://${N8N_HOST}/
GENERIC_TIMEZONE: Europe/Berlin
TZ: Europe/Berlin
NODE_ENV: production
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"
N8N_RUNNERS_MODE: external
N8N_RUNNERS_AUTH_TOKEN: ${RUNNERS_AUTH_TOKEN}
N8N_RUNNERS_BROKER_LISTEN_ADDRESS: 0.0.0.0
N8N_DIAGNOSTICS_ENABLED: "false"
EXECUTIONS_DATA_MAX_AGE: "168"
services:
caddy:
image: caddy:2
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
postgres:
image: postgres:18
restart: always
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_NON_ROOT_USER: ${POSTGRES_NON_ROOT_USER}
POSTGRES_NON_ROOT_PASSWORD: ${POSTGRES_NON_ROOT_PASSWORD}
PGDATA: /var/lib/postgresql/data
volumes:
- db_storage:/var/lib/postgresql/data
- ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh:ro
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 10
n8n:
image: docker.n8n.io/n8nio/n8n:${N8N_VERSION}
restart: always
environment: *n8n-env
volumes:
- n8n_storage:/home/node/.n8n
depends_on:
postgres:
condition: service_healthy
n8n-runner:
image: n8nio/runners:${N8N_VERSION}
restart: always
environment:
N8N_RUNNERS_AUTH_TOKEN: ${RUNNERS_AUTH_TOKEN}
N8N_RUNNERS_TASK_BROKER_URI: http://n8n:5679
depends_on:
- n8n
volumes:
caddy_data:
caddy_config:
db_storage:
n8n_storage:
Die wichtigsten Entscheidungen darin:
- PostgreSQL statt SQLite. n8n nutzt ohne weitere Angaben SQLite, eine Datenbank in einer einzelnen Datei. Für den Produktivbetrieb rät n8n in der Doku zur Installation zu PostgreSQL. Unterstützt sind laut Datenbank-Doku die Versionen 16 bis 18.
- Feste Version.
N8N_VERSIONsteht in der Datei.env. Ohne feste Version holt jeder Neustart womöglich eine neue Version, und Updates passieren unkontrolliert. - Separater Task Runner. Ein Task Runner führt den Code aus, den jemand in einen Code-Knoten schreibt. Laut Doku zu Task Runnern ist er die einzige Trennschicht zwischen diesem Code und Ihren Zugangsdaten. n8n empfiehlt für den Produktivbetrieb den externen Modus, also einen eigenen Container mit derselben Versionsnummer.
- Kein offener Port für n8n. n8n ist nur im internen Docker-Netz erreichbar, nach außen spricht nur Caddy.
- Datenschutz-Einstellungen. Telemetrie aus, Ausführungsdaten nach 7 Tagen löschen. Mehr dazu im Abschnitt zur DSGVO.
Schritt 4: Caddyfile anlegen und starten
Die Datei Caddyfile im selben Ordner braucht nur wenige Zeilen, wie in der n8n-Anleitung für Hetzner:
n8n.ihre-firma.de {
reverse_proxy n8n:5678 {
flush_interval -1
}
}
Dann starten Sie alles und sehen in die Protokolle:
docker compose up -d
docker compose ps
docker compose logs -f n8n
Rufen Sie https://n8n.ihre-firma.de auf und legen Sie das Inhaberkonto an. Wer es zuerst ausfüllt, wird Inhaber der Instanz. Machen Sie diesen Schritt also direkt nach dem Start. Auf Wunsch registrieren Sie die Community Edition kostenlos per E-Mail und erhalten dafür Ordner und Debugging im Editor. Wie Sie danach den ersten Workflow bauen, zeigt das n8n Tutorial auf Deutsch.
Wie schützen Sie den Zugang zu n8n?
HTTPS erledigt Caddy automatisch, inklusive Erneuerung der Zertifikate. Prüfen Sie nach dem Start, ob http:// auf https:// umleitet.
Konten statt Basic Auth. Manche Anleitungen empfehlen noch die frühere Basic-Auth-Anmeldung von n8n. Die hat n8n laut Doku mit Version 1.0 entfernt, heute meldet sich jeder Nutzer mit eigenem Konto an. Aktivieren Sie für jedes Konto die Zwei-Faktor-Anmeldung per Authenticator-App. Für alle Nutzer erzwingen können Sie sie selbst gehostet erst ab dem Business-Tarif.
Rechte. In der Community Edition sehen nur der Inhaber und die Person, die einen Workflow oder Zugang angelegt hat, diesen Workflow. Teilen, Projekte und Anmeldung per SSO fehlen laut Vergleich der Editionen. Für zwei, drei Personen reicht das. Für mehrere Abteilungen mit getrennten Rechten nicht.
Webhooks absichern. Ein Webhook ist eine Internetadresse, über die ein anderes System einen Workflow startet, zum Beispiel ein Kontaktformular. Diese Adressen sind öffentlich. Hinterlegen Sie bei jedem Webhook eine Authentifizierung, etwa einen geheimen Header, den nur der Absender kennt.
Riskante Knoten. Der Knoten Execute Command, der Befehle direkt auf dem Server ausführt, ist laut Doku standardmäßig gesperrt. Lassen Sie das so. Installieren Sie Community-Knoten von Drittanbietern nur, wenn Sie sie wirklich brauchen, denn das ist fremder Code mit Zugriff auf Ihre Daten.
Selbstprüfung. docker compose exec n8n n8n audit erstellt einen Sicherheitsbericht, unter anderem zu ungenutzten Zugangsdaten und riskanten Einstellungen.
Wie sichern und aktualisieren Sie n8n?
Backups: Datenbank, n8n-Ordner und Schlüssel
Ein vollständiges Backup besteht laut n8n-Doku aus zwei Teilen: dem n8n-Ordner .n8n, in dem die Datei config mit dem Schlüssel liegt, und der PostgreSQL-Datenbank. Der CLI-Export von Workflows allein reicht nicht, ihm fehlen Nutzer, Ausführungen und Einstellungen.
Ein einfaches Skript für den täglichen Lauf per cron:
#!/bin/bash
# /opt/n8n/backup.sh, täglich per cron, zum Beispiel um 03:15 Uhr
set -euo pipefail
cd /opt/n8n
STAMP=$(date +%F)
mkdir -p backups
# 1. Datenbank: pg_dump liefert auch im laufenden Betrieb einen konsistenten Stand
docker compose exec -T postgres sh -c 'pg_dump -U "$POSTGRES_USER" -d "$POSTGRES_DB" -Fc' > "backups/db-$STAMP.dump"
# 2. n8n-Ordner mit Schlüssel (Volume-Namen mit "docker volume ls" prüfen)
docker run --rm -v n8n_n8n_storage:/data:ro -v "$PWD/backups":/backup alpine \
tar czf "/backup/n8n-$STAMP.tar.gz" -C /data .
# 3. Lokale Kopien nach 14 Tagen löschen
find backups -type f -mtime +14 -delete
Danach gehören die Dateien verschlüsselt auf einen zweiten Speicher, ebenfalls in der EU, zum Beispiel mit restic oder BorgBackup. Ein Backup auf demselben Server hilft nicht, wenn der Server ausfällt. Ein Vorteil von PostgreSQL: Mit SQLite müssen Sie n8n laut Doku für ein konsistentes Backup stoppen. Testen Sie die Wiederherstellung einmal pro Quartal auf einem frischen Server. Erst dann wissen Sie, dass das Backup funktioniert.
Updates: mindestens einmal im Monat
n8n veröffentlicht fast jede Woche eine neue Version und rät in der Update-Doku, mindestens einmal im Monat zu aktualisieren. Der wichtigste Grund ist Sicherheit. Laut meiner Auszählung der Sicherheitshinweise auf GitHub am 16. Oktober 2026 hat n8n seit Jahresbeginn 211 Hinweise veröffentlicht, 19 davon als kritisch eingestuft. Die Lücke CVE-2026-21858 vom Januar 2026 erhielt die Höchstwertung 10,0: Über bestimmte Formular-Workflows konnten Angreifer ohne Anmeldung auf Dateien des Servers zugreifen (GitHub-Hinweis). Wer damals ein paar Wochen mit dem Update gewartet hat, war in dieser Zeit offen.
So läuft ein Update ab:
- Versionshinweise lesen, besonders bei Sprüngen in der ersten Ziffer.
- Backup ausführen:
./backup.sh - In
.envdie Nummer beiN8N_VERSIONändern. Der Task Runner zieht automatisch mit, weil er dieselbe Variable nutzt. docker compose pullund danachdocker compose up -d- Protokolle prüfen und zwei, drei wichtige Workflows einmal von Hand testen.
Ein Zurück auf die alte Version ist nach Änderungen an der Datenbank nicht immer möglich. Der sichere Weg zurück ist das Backup von direkt vor dem Update.
Überwachung
- Erreichbarkeit: Ein externer Uptime-Dienst ruft
https://n8n.ihre-firma.de/healthz/readinessauf. Laut Doku zur Überwachung antwortet diese Adresse nur mit Status 200, wenn auch die Datenbank verbunden ist. - Fehler in Workflows: Ein Fehler-Workflow mit dem Knoten Error Trigger schickt Ihnen bei jedem Abbruch eine Nachricht per E-Mail oder Teams.
- Speicherplatz: Eine Warnung ab 80 % Belegung. Ausführungsdaten und Backups wachsen leise.
Ist selbst gehostetes n8n DSGVO-konform?
Self-Hosting ist ein guter Anfang, aber kein Freifahrtschein. Es legt fest, wo n8n selbst Daten speichert. Für alles, was Ihre Workflows an andere Dienste schicken, gelten weiter die normalen Regeln. Die Artikel beziehen sich auf die DSGVO bei EUR-Lex.
| Thema | Was Sie tun | Grundlage |
|---|---|---|
| Serverstandort | Rechenzentrum in der EU wählen, bei Hetzner Falkenstein, Nürnberg oder Helsinki | Art. 44 ff. DSGVO |
| AVV mit dem Hoster | Bei Hetzner im Kundenkonto abschließen | Art. 28 DSGVO |
| AVV-Kette beim Dienstleister | Betreibt ein IT-Dienstleister die Instanz, schließt er mit Ihnen einen AVV, der Hoster wird Unterauftragsverarbeiter | Art. 28 Abs. 2 und 4 DSGVO |
| Dienste in Workflows | Für jeden KI-Anbieter und jede Schnittstelle AVV und Drittlandübermittlung prüfen | Art. 28, Art. 44 ff. DSGVO |
| Ausführungsdaten | Speicherdauer festlegen, bei sensiblen Workflows erfolgreiche Läufe nicht speichern | Art. 5 Abs. 1 lit. e DSGVO |
| Protokolle | Docker-Protokolle rotieren, Zugriffsprotokolle nur bei Bedarf, IP-Adressen kürzen | Art. 5 Abs. 1 lit. c DSGVO |
| Technische Maßnahmen | HTTPS, Zwei-Faktor-Anmeldung, Updates, verschlüsselte Backups dokumentieren | Art. 32 DSGVO |
| Dokumentation | Die Instanz ins Verzeichnis der Verarbeitungstätigkeiten aufnehmen | Art. 30 DSGVO |
| Berufsgeheimnisse | Dienstleister mit Zugriff zur Verschwiegenheit verpflichten | § 203 StGB Abs. 3 und 4 |
Serverstandort und AVV
Laut Datenschutz-Seite von Hetzner liegen Daten von Cloud-Servern an dem Standort, den Sie wählen. Für die Standorte in den USA und Singapur nutzt Hetzner Drittanbieter, dort übermitteln Sie Daten in ein Drittland. Den AVV schließen Sie online ab, indem Sie Datenarten und Betroffene auswählen und per Checkbox bestätigen. Individuelle Verträge unterschreibt Hetzner nicht.
Ausführungsdaten sind ein Datenspeicher
n8n speichert zu jedem Lauf die Ein- und Ausgabedaten jedes Knotens, also auch Namen, E-Mails und Rechnungsbeträge. Laut Doku zu Ausführungsdaten löscht n8n abgeschlossene Läufe standardmäßig nach 14 Tagen oder ab 10.000 gespeicherten Läufen. In der Konfiguration oben sind es 7 Tage. Wählen Sie den Wert passend zu Ihrem Löschkonzept. Für einzelne Workflows mit sensiblen Daten können Sie in den Workflow-Einstellungen festlegen, dass erfolgreiche Läufe gar nicht gespeichert werden. Das Schwärzen von Ausführungsdaten gibt es nur in der Enterprise-Version.
Protokolle und Telemetrie
Caddy schreibt Zugriffsprotokolle nur, wenn Sie sie mit der Anweisung log einschalten. Wenn Sie sie brauchen, kürzen Sie IP-Adressen mit dem Filter ip_mask. IP-Adressen können personenbezogene Daten sein, so der EuGH im Urteil Breyer vom 19. Oktober 2016.
n8n sendet ab Werk anonyme Nutzungsdaten an n8n. N8N_DIAGNOSTICS_ENABLED=false schaltet das laut Doku ab. Vorlagen und Versionshinweise holt n8n weiterhin von eigenen Servern. Wer jede Verbindung zu n8n kappen will, setzt zusätzlich N8N_VERSION_NOTIFICATIONS_ENABLED=false und N8N_TEMPLATES_ENABLED=false (Doku). Die Versionshinweise würde ich anlassen, sie erinnern an Updates.
KI-Dienste bleiben extern
Ein häufiger Denkfehler: n8n läuft in Nürnberg, also ist alles in Deutschland. Ein Knoten, der eine E-Mail an ein Sprachmodell eines US-Anbieters schickt, übermittelt diese E-Mail trotzdem dorthin. Welche Anbieter einen AVV bieten, was Pseudonymisierung bringt und wann eine Datenschutz-Folgenabschätzung nötig ist, steht in meiner Checkliste für DSGVO-konforme KI.
Wann brauchen Sie den Queue-Modus?
Im normalen Betrieb führt ein einzelner n8n-Prozess alle Workflows aus. Im Queue-Modus (Warteschlangenbetrieb) nimmt der Hauptprozess nur noch Auslöser an, und separate Arbeitsprozesse, sogenannte Worker, führen die Läufe aus. Redis, ein schneller Zwischenspeicher, verwaltet die Warteschlange. Entgegen mancher Anleitung ist der Queue-Modus laut Vergleich der Editionen in der kostenlosen Community Edition enthalten. Nur der Betrieb mit mehreren Hauptprozessen für Ausfallsicherheit kostet extra.
Typische Anzeichen, dass Sie ihn brauchen: Der Editor wird träge, während Workflows laufen. Viele Webhooks kommen gleichzeitig. Lange KI-Läufe blockieren kurze Abläufe. Probieren Sie vorher zwei einfachere Schritte: einen größeren Server und N8N_CONCURRENCY_PRODUCTION_LIMIT, das die Zahl gleichzeitiger Läufe begrenzt und den Rest warten lässt. Für kleine Firmen reicht in der Regel eine einzelne Instanz.
Wenn Sie umstellen, ergänzen Sie die Konfiguration oben so:
# Zusätzlich im Block x-n8n-env:
EXECUTIONS_MODE: queue
QUEUE_BULL_REDIS_HOST: redis
OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS: "true"
N8N_DEFAULT_BINARY_DATA_MODE: database
# Zusätzliche Dienste unter services:
redis:
image: redis:7-alpine
restart: always
volumes:
- redis_storage:/data
n8n-worker:
image: docker.n8n.io/n8nio/n8n:${N8N_VERSION}
command: worker --concurrency=5
restart: always
environment: *n8n-env
depends_on:
- redis
- postgres
n8n-worker-runner:
image: n8nio/runners:${N8N_VERSION}
restart: always
environment:
N8N_RUNNERS_AUTH_TOKEN: ${RUNNERS_AUTH_TOKEN}
N8N_RUNNERS_TASK_BROKER_URI: http://n8n-worker:5679
depends_on:
- n8n-worker
# und unter volumes: redis_storage:
Die Regeln dahinter stammen aus der Doku zum Queue-Modus:
- PostgreSQL ist Voraussetzung. Von Queue-Modus mit SQLite rät n8n ausdrücklich ab.
- Alle Prozesse brauchen denselben Verschlüsselungsschlüssel, sonst können Worker die Zugangsdaten nicht lesen.
- Dateien wie PDFs speichert n8n im Queue-Modus nicht im Dateisystem. Laut Doku zu Binärdaten nehmen Sie den Modus
database. - Ein Worker bearbeitet standardmäßig 10 Läufe gleichzeitig. n8n empfiehlt mindestens 5, weil viele Worker mit niedrigen Werten den Verbindungs-Pool der Datenbank erschöpfen können. Haben Sie vorher
N8N_CONCURRENCY_PRODUCTION_LIMITgesetzt, gilt laut Doku dieser Wert auch für die Worker. - Jeder Worker braucht einen eigenen Task-Runner-Container.
Was erlaubt die Lizenz der Community Edition?
n8n steht nicht unter einer klassischen Open-Source-Lizenz, sondern unter der Sustainable Use License. Sie dürfen die Software für eigene interne Geschäftszwecke nutzen. Die Lizenz-FAQ fasst es so zusammen: Wenn nur Sie oder Personen aus Ihrer Organisation Workflows anlegen oder ändern, ist die Nutzung kostenlos. Für IT-Dienstleister sind die Details wichtig:
| Erlaubt | Nicht erlaubt |
|---|---|
| n8n für die eigenen Abläufe nutzen, auch mehrere Instanzen | n8n als Dienst anbieten, in dem Kunden selbst Workflows bauen |
| Auf der eigenen Instanz Workflows für Kunden bauen und betreiben, solange Kunden nur Ergebnisse sehen | Kunden über eine eigene Oberfläche, die API, MCP oder einen KI-Agenten Workflows einstellen lassen |
| n8n auf dem Server des Kunden installieren, einrichten und warten und dafür Geld nehmen, wenn Sie nicht zusätzlich das Hosting stellen | n8n umbenennen und als eigenes Produkt weiterverkaufen |
| Einrichtung, Workflow-Bau, Schulung und Beratung abrechnen | Enterprise-Funktionen ohne Lizenzschlüssel nutzen |
Für die meisten kleinen Firmen ist die Lizenz damit kein Thema. Genauer hinsehen sollten Sie, wenn Sie selbst Software verkaufen, in der Kunden Automatisierungen konfigurieren. Bei Unklarheiten nennt n8n die Adresse license@n8n.io. Auch dieser Abschnitt ist keine Rechtsberatung.
Wann sollten Sie n8n nicht selbst hosten?
Self-Hosting ist nicht automatisch die bessere Wahl. In diesen Fällen rate ich davon ab:
- Niemand ist zuständig. Bei der Zahl der Sicherheitshinweise in diesem Jahr ist eine Instanz, die drei Monate kein Update bekommt, ein echtes Risiko. Dann lieber die Cloud oder ein Dienstleister mit Wartungsvertrag.
- Nur ein, zwei Workflows mit wenigen Läufen. Hier kostet Ihre Wartungszeit mehr als ein Cloud-Tarif.
- Hohe Verfügbarkeit ist Pflicht. Ein einzelner Server ist ein einzelner Ausfallpunkt. Mehrere Hauptprozesse gibt es nur in der Enterprise-Version.
- Mehrere Abteilungen mit getrennten Rechten. Ohne Teilen und Projekte arbeiten Sie gegen die Community Edition.
Bei KI-Workflows kommt ein zweiter Punkt dazu: Self-Hosting macht ein Sprachmodell nicht zuverlässiger. Modelle erfinden manchmal überzeugend falsche Antworten, und eine eingehende E-Mail kann versteckte Anweisungen enthalten, die das Modell befolgt (Prompt Injection). Deshalb gilt in meinen Workflows: Was Geld bewegt, Daten löscht oder Kunden erreicht, gibt ein Mensch frei. Ist das Modell bei einer Einordnung unsicher, landet der Fall bei einer Person statt im automatischen Versand. Bauen Sie dafür in n8n einen Freigabeschritt ein, etwa eine E-Mail oder Teams-Nachricht mit „Freigeben“ und „Ablehnen“, auf die der Workflow wartet.
Checkliste: Ist Ihre Instanz bereit für den Produktivbetrieb?
- Server in der EU, AVV mit dem Hoster abgeschlossen
- Firewall beim Hoster, nur 80 und 443 offen, SSH nur mit Schlüssel
- PostgreSQL statt SQLite, feste n8n-Version in
.env - Verschlüsselungsschlüssel im Passwortmanager, getrennt vom Server
- Task Runner im externen Modus
- Zwei-Faktor-Anmeldung für alle Konten, SMTP eingerichtet
- Jeder Webhook mit Authentifizierung
- Tägliches Backup, verschlüsselt auf zweitem Speicher, Wiederherstellung getestet
- Update-Termin im Kalender, Sicherheitshinweise auf GitHub abonniert
- Überwachung von Erreichbarkeit, Speicherplatz und Workflow-Fehlern
- Löschfrist für Ausführungsdaten, Telemetrie aus, Protokolle rotiert
- Instanz im Verzeichnis der Verarbeitungstätigkeiten, KI-Dienste einzeln geprüft
Fazit: n8n self-hosted lohnt sich mit klarer Zuständigkeit
Die Installation ist in einem Nachmittag erledigt. Der eigentliche Aufwand ist der Betrieb: Backups, die Sie getestet haben, Updates jeden Monat und ein Blick auf die Datenflüsse zu externen Diensten. Wer das sicherstellen kann, bekommt eine Instanz ohne Ausführungslimit auf einem Server in Deutschland. Wer es nicht kann, fährt mit der n8n Cloud besser.
Ihr nächster Schritt ist klein: Klären Sie, wer in Ihrer Firma die Instanz verantwortet, und tragen Sie den ersten Update-Termin in den Kalender. Steht das, folgen Sie den vier Schritten oben. Welche Abläufe sich als Erstes lohnen, steht im Leitfaden Prozessautomatisierung mit KI. Und wenn Sie Einrichtung und Wartung lieber abgeben möchten, sprechen wir im kostenlosen Prozess-Check über Ihren Fall, mehr dazu auf der Seite KI-Prozessautomatisierung.
Häufige Fragen
Ist n8n self-hosted kostenlos?
Die Community Edition kostet keine Lizenzgebühr und begrenzt weder Workflows noch Ausführungen. Sie zahlen den Server, Speicher für Backups und vor allem die Zeit für Updates und Wartung. Ein Server mit 4 GB Arbeitsspeicher kostete im September 2026 bei Hetzner rund 20 € netto im Monat.
Welcher Server reicht für n8n mit Docker?
Für eine kleine Firma sind 2 virtuelle Prozessorkerne und 4 GB Arbeitsspeicher ein guter Start, bei vielen KI- oder Datei-Workflows eher 8 GB. Wichtiger als die Größe sind ein Rechenzentrum in der EU, ein Auftragsverarbeitungsvertrag mit dem Hoster und eine Firewall vor dem Server.
Ist selbst gehostetes n8n automatisch DSGVO-konform?
Nein. Self-Hosting legt fest, wo Workflows und Ausführungsdaten liegen. Jeder KI-Dienst und jede Schnittstelle in Ihren Workflows braucht aber weiterhin eine eigene Prüfung mit Auftragsverarbeitungsvertrag, dazu kommen Löschfristen, technische Schutzmaßnahmen und der Eintrag ins Verarbeitungsverzeichnis.
SQLite oder PostgreSQL für n8n?
SQLite ist die Voreinstellung und reicht zum Ausprobieren. Für den Produktivbetrieb empfiehlt n8n PostgreSQL. Der Queue-Modus setzt es praktisch voraus, und Backups laufen mit pg_dump im laufenden Betrieb.
Darf ich als IT-Dienstleister n8n für Kunden betreiben?
Ja, solange Ihre Kunden nur die Ergebnisse sehen und keine Workflows selbst anlegen oder ändern. Laut Lizenz-FAQ dürfen Sie n8n auch auf dem Server des Kunden installieren und warten, wenn Sie nicht zusätzlich das Hosting anbieten. In Grenzfällen klären Sie Ihr Modell vorab mit dem Lizenzteam von n8n.
Wie oft sollte ich n8n aktualisieren?
n8n empfiehlt mindestens ein Update pro Monat und veröffentlicht fast jede Woche eine neue Version. 2026 kamen in jedem Monat neue Sicherheitshinweise, viele davon mit hoher oder kritischer Einstufung. Machen Sie vor jedem Update ein Backup und abonnieren Sie die Sicherheitshinweise auf GitHub.