Tools

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.

von Linh Phung Hoangveröffentlicht 16 Min. Lesezeit
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.

Kriteriumn8n Cloudn8n self-hosted auf EU-Server
Betrieb, Updates, Backupsübernimmt n8nübernehmen Sie oder Ihr Dienstleister
DatenstandortEU, auf Microsoft Azure (laut n8n)der Standort, den Sie wählen, zum Beispiel Nürnberg
Vertragspartner für den AVVn8nIhr Hoster, zum Beispiel Hetzner
Ausführungen pro MonatKontingent je Tarif, Starter 2.500, Pro 10.000keine Grenze durch die Lizenz
Kosten (Stand Oktober 2026, bitte prüfen)ab 20 € im Monat bei jährlicher ZahlungServer ab rund 20 € netto, dazu Ihre Arbeitszeit
Workflows unter Kollegen teilenja, im Rahmen des Tarifsnicht in der Community Edition
Passt fürTeams ohne Server-Erfahrung, kleine MengenFirmen 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:

AufgabeWie oftAufwand
Ersteinrichtung mit Backup und Überwachungeinmalig4 bis 8 Stunden
Update einspielen und Workflows prüfenmindestens monatlich30 bis 60 Minuten
Sicherheitshinweise lesenwöchentlich10 Minuten
Wiederherstellung testenvierteljährlich1 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_VERSION steht 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:

  1. Versionshinweise lesen, besonders bei Sprüngen in der ersten Ziffer.
  2. Backup ausführen: ./backup.sh
  3. In .env die Nummer bei N8N_VERSION ändern. Der Task Runner zieht automatisch mit, weil er dieselbe Variable nutzt.
  4. docker compose pull und danach docker compose up -d
  5. 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/readiness auf. 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.

ThemaWas Sie tunGrundlage
ServerstandortRechenzentrum in der EU wählen, bei Hetzner Falkenstein, Nürnberg oder HelsinkiArt. 44 ff. DSGVO
AVV mit dem HosterBei Hetzner im Kundenkonto abschließenArt. 28 DSGVO
AVV-Kette beim DienstleisterBetreibt ein IT-Dienstleister die Instanz, schließt er mit Ihnen einen AVV, der Hoster wird UnterauftragsverarbeiterArt. 28 Abs. 2 und 4 DSGVO
Dienste in WorkflowsFür jeden KI-Anbieter und jede Schnittstelle AVV und Drittlandübermittlung prüfenArt. 28, Art. 44 ff. DSGVO
AusführungsdatenSpeicherdauer festlegen, bei sensiblen Workflows erfolgreiche Läufe nicht speichernArt. 5 Abs. 1 lit. e DSGVO
ProtokolleDocker-Protokolle rotieren, Zugriffsprotokolle nur bei Bedarf, IP-Adressen kürzenArt. 5 Abs. 1 lit. c DSGVO
Technische MaßnahmenHTTPS, Zwei-Faktor-Anmeldung, Updates, verschlüsselte Backups dokumentierenArt. 32 DSGVO
DokumentationDie Instanz ins Verzeichnis der Verarbeitungstätigkeiten aufnehmenArt. 30 DSGVO
BerufsgeheimnisseDienstleister 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_LIMIT gesetzt, 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:

ErlaubtNicht erlaubt
n8n für die eigenen Abläufe nutzen, auch mehrere Instanzenn8n als Dienst anbieten, in dem Kunden selbst Workflows bauen
Auf der eigenen Instanz Workflows für Kunden bauen und betreiben, solange Kunden nur Ergebnisse sehenKunden ü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 stellenn8n umbenennen und als eigenes Produkt weiterverkaufen
Einrichtung, Workflow-Bau, Schulung und Beratung abrechnenEnterprise-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.

// erstgespräch

Welchen Ablauf wollen Sie loswerden?

Schreiben Sie mir in zwei, drei Sätzen, welcher Prozess Sie gerade Zeit kostet. Ich melde mich mit einer ehrlichen Einschätzung, ob und wie er sich automatisieren lässt, und mit einem Vorschlag für ein Erstgespräch.

▸ hello@codevagabond.com