Sora Yazılım
Deutsch
Maßgeschneiderte Softwarelösungen aus der Türkei

n8n Self-Hosting: Vollständige Einrichtungsanleitung mit Docker

Sora Yazılım Ekibi

n8n Self-Hosting Docker Der Betrieb von n8n auf Ihrer eigenen Infrastruktur bietet Datensouveränität, unbegrenzte Workflows und planbare Kosten. Mit Docker Compose steht in wenigen Minuten eine isolierte, reproduzierbare Umgebung bereit.

Was ist n8n Self-Hosting und warum sollten Sie es wählen?

n8n Self-Hosting bedeutet, die Workflow-Engine auf Ihrem eigenen Server oder einer Cloud-VM zu betreiben. Ihre Daten passieren niemals Server Dritter; es gibt keine monatlichen Ausführungslimits und die Lizenzkosten sind fest kalkulierbar.

Datensouveränität ist eine harte Anforderung in Unternehmensumgebungen. Regulatorische Rahmenbedingungen in der Finanzwirtschaft, im Gesundheitswesen und im öffentlichen Sektor schreiben vor, dass Kundendaten auf inländischer oder privater Infrastruktur verarbeitet werden. Bei der Nutzung von n8n Cloud passieren sämtliche Workflow-Daten die Server der n8n GmbH. Das Self-Hosting-Modell eliminiert dieses Risiko vollständig: Daten werden ausschließlich in Systemen unter Ihrer Kontrolle verarbeitet.

Das Kostenbild stellt sich anders dar. Ein Blick auf den Preisvergleich von n8n Cloud und Self-Hosted zeigt, dass die monatliche Cloud-Plan-Gebühr mit steigender Workflow-Anzahl und zunehmendem Ausführungsvolumen rasch ansteigt. Auf dem eigenen Server zahlen Sie lediglich Infrastrukturkosten; die n8n Community Edition ist vollständig kostenlos und Open Source. Weitere Informationen zu den Enterprise-Workflow-Automatisierungsfähigkeiten von n8n finden Sie in unserem Leitfaden.

Der Grund für den Einsatz von Docker liegt auf der Hand: Es bietet eine saubere, isolierte Laufzeitumgebung, verhindert Abhängigkeitskonflikte und ermöglicht es Ihnen, den gesamten Stack in einer einzigen Compose-Datei zu versionieren. n8n empfiehlt die Docker-basierte Bereitstellung offiziell, und das offizielle Image auf Docker Hub wird kontinuierlich aktualisiert.

Systemanforderungen

Für kleine bis mittelgroße Unternehmensnutzung sind 2 vCPU, 4 GB RAM und 40 GB SSD ausreichend. Starke Arbeitslasten oder hohe Parallelität erfordern die doppelte Menge dieser Ressourcen.

Die folgende Tabelle zeigt empfohlene Mindest- und Produktions-Hardwareanforderungen für verschiedene Nutzungsszenarien. Die Werte basieren auf der offiziellen n8n-Dokumentation und Praxiserfahrung; die tatsächlichen Anforderungen variieren je nach Arbeitslast.

SzenariovCPURAMSSDHinweise
Einzelbenutzer / Test11 GB10 GBSQLite, geringes Volumen
KMU / Agentur (empfohlen)24 GB40 GBPostgreSQL, moderate Last
Mittlere Größe / Queue Mode48 GB80 GBRedis + Worker, hohes Volumen
Großer Maßstab / HA8+16 GB+200 GB+Mehrere Worker, Load Balancer

Als Betriebssystem wird Ubuntu 22.04 LTS oder Debian 12 empfohlen. Docker Engine 24+ und Docker Compose v2.x müssen installiert sein. Ziehen Sie UFW für die Firewall-Verwaltung und entweder Certbot oder Caddy für das SSL-Zertifikatsmanagement in Betracht. Stellen Sie sicher, dass der A-Eintrag Ihrer Domain auf den Server zeigt; ein gültiger A-Eintrag ist für die HTTPS-Bereitstellung erforderlich.

Einrichtung mit Docker Compose

Definieren Sie n8n, PostgreSQL, Nginx und optionales Redis in einer einzigen docker-compose.yml-Datei, um eine versionierte, reproduzierbare Infrastruktur zu erstellen. Alle Umgebungsvariablen werden in einer .env-Datei verwaltet.

Erstellen Sie Ihr Projektverzeichnis und bereiten Sie die folgende Struktur vor. Verwenden Sie eine .env-Datei für Passwörter und sensible Werte; committen Sie diese Datei niemals in ein Git-Repository.

  1. mkdir -p ~/n8n-stack && cd ~/n8n-stack — Projektverzeichnis erstellen.
  2. Fügen Sie N8N_ENCRYPTION_KEY, POSTGRES_PASSWORD und N8N_HOST zur .env-Datei hinzu.
  3. Erstellen Sie docker-compose.yml: definieren Sie den n8n-Dienst (image: n8nio/n8n), postgres-Dienst, nginx-Dienst (Reverse Proxy) und optionalen redis-Dienst.
  4. Verwenden Sie Named Volumes für persistente Daten: n8n_data, postgres_data.
  5. Starten Sie den Stack im Hintergrund mit docker compose up -d.
  6. Überwachen Sie den Start mit docker compose logs -f n8n und schließen Sie den Einrichtungsassistenten ab.

Kritische Umgebungsvariablen für den n8n-Dienst in docker-compose.yml: DB_TYPE=postgresdb, DB_POSTGRESDB_HOST=postgres, N8N_ENCRYPTION_KEY (zufällig, 32+ Zeichen), WEBHOOK_URL (vollständige Domain) und N8N_BASIC_AUTH_ACTIVE=false (bei Verwendung der integrierten Authentifizierung). Legen Sie für den PostgreSQL-Dienst POSTGRES_DB, POSTGRES_USER und POSTGRES_PASSWORD fest. Alle Dienste sollten über dasselbe benutzerdefinierte Docker-Netzwerk kommunizieren, sodass Container sich gegenseitig per Dienstname auflösen können, ohne interne Ports preiszugeben.

Nach Abschluss der Einrichtung navigieren Sie zu https://n8n.ihrefirma.de in Ihrem Browser. Der Erststart-Assistent führt Sie durch die Erstellung eines Administratorkontos. Aktivieren Sie unmittelbar danach die Zwei-Faktor-Authentifizierung über das Einstellungsmenü.

Datenbank: SQLite oder PostgreSQL?

SQLite ist nur für Einzelbenutzer-Testumgebungen geeignet. Produktionsumgebungen müssen PostgreSQL verwenden: Daten bleiben bei Neustarts erhalten, Backup-Tools sind ausgereift und der Queue Mode erfordert PostgreSQL.

n8n verwendet standardmäßig SQLite. Obwohl dies für einen schnellen Einstieg attraktiv wirkt, kann SQLite bei gleichzeitigem Zugriff Write-Lock-Konflikte erzeugen und verlangsamt sich bei großen Ausführungsverläufen. Eine fehlerhafte Volume-Bindung kann zudem zu Datenverlust beim Neustart des Docker-Containers führen.

MerkmalSQLitePostgreSQL
EinrichtungseinfachheitHoch (integriert)Mittel (separater Dienst)
ProduktionsstabilitätNiedrigHoch
Gleichzeitiger ZugriffEingeschränktVollständige Unterstützung
Backup-ToolsGrundlegendpg_dump, WAL, Barman
Queue Mode UnterstützungNeinJa
SkalierbarkeitEinzelserverHorizontale Skalierung

Für die Migration zu PostgreSQL exportieren Sie Ihre Workflows als JSON über Einstellungen > Exportieren in Ihrer aktuellen n8n-Instanz und importieren Sie sie in die neue PostgreSQL-gestützte Instanz. Ausführungsverläufe können nicht migriert werden; nur Workflow-Definitionen werden übertragen. Deshalb ist die Wahl von PostgreSQL von Anfang an der richtige Ansatz.

Reverse Proxy, HTTPS und Domain-Konfiguration

Um n8n im Internet zugänglich zu machen, konfigurieren Sie einen Reverse Proxy mit Nginx oder Caddy und beziehen Sie ein gültiges SSL-Zertifikat. Caddy verwaltet Zertifikate automatisch; Nginx ist weiter verbreitet und flexibler.

Die grundlegende Nginx-Reverse-Proxy-Konfiguration: Hören Sie auf Port 5678 des n8n-Containers als Upstream, leiten Sie HTTP-Port-80-Traffic zu 443 um, definieren Sie SSL-Zertifikatspfade auf Port 443 und fügen Sie proxy_http_version 1.1, Upgrade- und Connection-Header für WebSocket-Unterstützung hinzu. WebSocket-Unterstützung ist für den Echtzeit-Workflow-Editor von n8n erforderlich.

Bei der Verwendung von Caddy vereinfacht sich die Konfiguration erheblich. Schreiben Sie einfach Ihre Domain und die Backend-Adresse in die Caddyfile; Caddy bezieht und erneuert das SSL-Zertifikat automatisch über Let's Encrypt. Caddy v2 unterstützt auch dynamische Konfiguration über seine JSON-API.

  • Nginx: Beziehen Sie das Let's-Encrypt-Zertifikat mit certbot --nginx -d n8n.ihrefirma.de und richten Sie einen Cron-Job für die automatische Erneuerung ein.
  • Caddy: Aktivieren Sie den Reverse Proxy mit der Direktive reverse_proxy n8n:5678; Zertifikatsverwaltung ist automatisch.
  • Setzen Sie in beiden Fällen die WEBHOOK_URL-Umgebungsvariable von n8n auf die vollständige HTTPS-Adresse.
  • Nginx-Puffer-Einstellung: proxy_read_timeout 300s; erhöhen Sie den Timeout-Wert für lang laufende Workflow-Ausführungen.

Queue Mode und horizontale Skalierung

Der n8n Queue Mode verteilt Workflow-Ausführungen über Redis-Warteschlangen auf mehrere Worker-Prozesse. Die Haupt-n8n-Instanz verwaltet Webhooks und die UI, während Worker die Ausführungen im Hintergrund verarbeiten.

In der Standardkonfiguration werden alle Aufträge sequenziell in einem einzigen n8n-Prozess ausgeführt. Wenn die Anzahl gleichzeitiger Workflows steigt oder lang laufende Aufträge andere Ausführungen blockieren, sollte der Queue Mode aktiviert werden. Im Vergleich zu Zapier und Make ist die durch den Queue Mode gebotene Flexibilität von n8n einer der herausragenden Unterschiede.

Um den Queue Mode zu aktivieren, fügen Sie einen Redis-Dienst zur docker-compose.yml hinzu und legen Sie folgende Umgebungsvariablen für den n8n-Dienst fest: EXECUTIONS_MODE=queue, QUEUE_BULL_REDIS_HOST=redis und QUEUE_BULL_REDIS_PORT=6379. Definieren Sie dann einen separaten Worker-Dienst: Verwenden Sie dasselbe n8n-Image, setzen Sie jedoch den Befehl auf n8n worker --concurrency=5. Der Worker-Dienst muss dieselben Volumes und dasselbe Netzwerk wie der Haupt-n8n-Dienst nutzen.

  • Skalieren Sie Worker dynamisch mit docker compose up -d --scale n8n-worker=3.
  • Passen Sie den --concurrency-Wert jedes Workers an die CPU-Anzahl des Servers an.
  • Setzen Sie Redis maxmemory-policy auf noeviction; Warteschlangendaten dürfen nicht verdrängt werden.
  • Verwenden Sie das Bull Dashboard oder die integrierte Ausführungswarteschlangen-Ansicht von n8n für das Monitoring.

Sicherheit, Backup und Updates

Eine Produktions-n8n-Bereitstellung erfordert UFW-Firewall, SSH-Schlüsselauthentifizierung, fail2ban, integrierte 2FA und einen verschlüsselten N8N_ENCRYPTION_KEY. Verwenden Sie PostgreSQL pg_dump und n8n-Dateiverzeichnis-Automatisierung für Backups.

Ein umfassender Leitfaden ist zu n8n Sicherheit und Unternehmens-Governance verfügbar. Wesentliche Sicherheitsmaßnahmen: Aktivieren Sie UFW und erlauben Sie nur die Ports 22 (SSH, nicht standardmäßiger Port), 80 (HTTP) und 443 (HTTPS). Beschränken Sie SSH auf schlüsselbasierte Authentifizierung und deaktivieren Sie die Passwortanmeldung. Installieren Sie fail2ban zum Schutz vor Brute-Force-Angriffen.

n8n-spezifische Sicherheit: Setzen Sie die Umgebungsvariable N8N_ENCRYPTION_KEY auf einen zufälligen, starken Wert; wenn dieser Schlüssel verloren geht, können verschlüsselte Anmeldedaten nicht wiederhergestellt werden. Aktivieren Sie die integrierte 2FA von n8n unmittelbar nach der ersten Anmeldung. Verlassen Sie sich auf das eigene Benutzerverwaltungssystem von n8n statt auf N8N_BASIC_AUTH_ACTIVE.

  • Backup: Erstellen Sie täglich PostgreSQL-Backups mit pg_dump und senden Sie diese an einen S3-kompatiblen Objektspeicher (MinIO, AWS S3).
  • n8n-Datenverzeichnis-Backup: Sichern Sie das n8n_data-Volume-Verzeichnis mit rsync oder tar.
  • Updates: Laden Sie das neue n8n-Image mit docker compose pull und starten Sie Dienste mit docker compose up -d --force-recreate neu. Erstellen Sie immer ein Backup vor dem Update.
  • Versions-Pinning: Verwenden Sie in docker-compose.yml einen spezifischen Tag wie n8nio/n8n:1.x.x statt n8nio/n8n:latest, um unerwartete Breaking Changes zu vermeiden.
  • Log-Verwaltung: Verwenden Sie den json-file Docker Log Driver und legen Sie max-size/max-file-Limits fest.

Für regelmäßige Sicherheitsüberprüfungen orientieren Sie sich an CIS Benchmarks und automatisieren Sie Betriebssystem-Updates (unattended-upgrades). Verfolgen Sie die Versionshinweise der n8n Community und wenden Sie kritische Sicherheitspatches zeitnah an. Unser Sora DevOps-Team unterstützt Kunden beim korrekten Aufbau einer n8n-Self-Hosting-Infrastruktur von Anfang an — vereinbaren Sie ein kostenloses Erstgespräch zur Planung Ihres Projekts.

Häufig gestellte Fragen

Ist Docker für n8n Self-Hosting erforderlich?

Docker ist nicht zwingend erforderlich; n8n kann direkt in einer Node.js-Umgebung installiert werden. n8n empfiehlt jedoch offiziell Docker wegen der isolierten Laufzeitumgebung, einfacher Updates und Abhängigkeitsverwaltung. Docker Compose ist die praktischste Option.

Soll ich SQLite oder PostgreSQL wählen?

SQLite ist für Test- und Einzelbenutzerszenarien ausreichend. Verwenden Sie in der Produktion stets PostgreSQL: Es garantiert Datensicherheit bei Neustarts, bietet robuste Backup-Tools und ist für den Queue Mode erforderlich.

Wie viele Serverressourcen benötigt n8n Self-Hosting?

Für KMU und Agenturen sind 2 vCPU, 4 GB RAM und 40 GB SSD geeignet. Bei starken Arbeitslasten oder hoher Parallelität werden 4 vCPU und 8 GB RAM empfohlen; der Queue Mode ermöglicht horizontale Skalierung.

Wie wird HTTPS eingerichtet?

Konfigurieren Sie einen Reverse Proxy mit Nginx oder Caddy. Bei Nginx verwenden Sie Certbot, um ein Let's-Encrypt-Zertifikat zu beziehen und die automatische Erneuerung einzurichten. Bei Caddy ist die Zertifikatsverwaltung automatisch; schreiben Sie einfach Domain und Backend-Adresse in die Caddyfile.

Wie skaliere ich n8n horizontal?

Aktivieren Sie den Queue Mode: Fügen Sie Redis zu docker-compose.yml hinzu, setzen Sie EXECUTIONS_MODE=queue und definieren Sie einen Worker-Dienst. Verwenden Sie docker compose up --scale n8n-worker=N, um die Anzahl der Worker zu erhöhen.

Wie aktualisiere ich n8n in Docker?

Erstellen Sie zuerst ein PostgreSQL-Backup. Laden Sie dann das neue Image mit docker compose pull herunter und starten Sie die Dienste mit docker compose up -d --force-recreate neu. Das Pinnen der Versionsbezeichnung schützt vor Breaking Changes.

Wie sichere ich n8n?

Verwenden Sie pg_dump für automatisierte tägliche PostgreSQL-Backups und senden Sie diese an einen S3-kompatiblen Objektspeicher. Sichern Sie das n8n-Datenverzeichnis (Volume: n8n_data) auf dieselbe Weise. Speichern Sie den verschlüsselten N8N_ENCRYPTION_KEY in einem sicheren Tresor.

Fazit

n8n Self-Hosting mit dem Trio Docker Compose, PostgreSQL und Nginx bietet eine unternehmensgerechte Automatisierungsinfrastruktur. Datensouveränität, planbare Kosten und unbegrenzte Workflow-Kapazität machen das Self-Hosting-Modell der Cloud-Alternative gegenüber klar überlegen. Mit Queue Mode und Redis-Unterstützung wird das System horizontal skalierbar und das Risiko eines Single Point of Failure reduziert.

Die korrekte Konfiguration von Sicherheit und Backup von Anfang an ist die Grundlage langfristiger Betriebsstabilität. Die Kombination aus UFW, fail2ban, SSH-Schlüsselauthentifizierung und n8n-integrierter 2FA reduziert die Angriffsfläche erheblich. Unser Sora DevOps-Team hilft Ihnen, Ihre n8n-Self-Hosting-Infrastruktur zu planen, bereitzustellen und zu optimieren — kontaktieren Sie uns für ein kostenloses Erstgespräch.

Brauchen Sie Hilfe zu den Themen dieses Beitrags?

Vereinbaren Sie ein kostenloses Discovery-Gespräch mit Sora Yazılım — wir schlagen eine konkrete Roadmap vor.