KI-Tools

n8n installieren: n8n self-hosted mit Docker einrichten

n8n installieren: n8n self-hosted mit Docker einrichten

n8n auf dem eigenen Server zu betreiben, hat zwei Vorteile, die in vielen Betrieben den Ausschlag geben: Die Community Edition kostet keine Lizenzgebühr, und die Daten verlassen die eigene Infrastruktur nur dort, wo ein Ablauf sie ausdrücklich weitergibt. Der Preis dafür ist Verantwortung: Installation, Updates, Backups und Sicherheit liegen bei dir.

Diese Anleitung zeigt, wie du n8n self-hosted mit Docker einrichtest, so wie es für einen kleinen Betrieb solide ist: mit PostgreSQL als Datenbank, verschlüsselter Verbindung über eine eigene Domain, Backups und einem sauberen Weg für Updates. Was n8n überhaupt ist und kann, steht in Was ist n8n?

Was du brauchst

  • Einen Server. Für den Anfang reicht ein kleiner virtueller Server bei einem deutschen Hoster. Wer viele Abläufe parallel oder KI-Agenten betreibt, plant mehr Arbeitsspeicher ein. Wie du einen solchen Server grundsätzlich einrichtest, zeige ich am Beispiel von Claude Code in Claude Code 24/7: VPS einrichten.
  • Docker mit Compose auf dem Server.
  • Eine Subdomain, etwa n8n.deine-firma.de, deren DNS-Eintrag auf den Server zeigt. Ohne verschlüsselte Verbindung über eine eigene Domain solltest du n8n nicht aus dem Internet erreichbar machen, und Webhooks von außen brauchen sie ohnehin.
  • Eine Stunde Zeit und Grundkenntnisse auf der Kommandozeile.

Der schnelle Test: n8n lokal mit einem Befehl

Wenn du n8n erst einmal ausprobieren willst, reicht auf dem eigenen Rechner mit Docker ein einziger Befehl aus der offiziellen Dokumentation:

docker volume create n8n_data

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -e GENERIC_TIMEZONE="Europe/Berlin" \
  -e TZ="Europe/Berlin" \
  -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
  -e N8N_RUNNERS_ENABLED=true \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

Danach ist n8n unter localhost:5678 erreichbar. Diese Variante nutzt die eingebaute SQLite-Datenbank und ist zum Kennenlernen gedacht, nicht für den Betrieb im Unternehmen.

Schritt 1: Geheimnisse anlegen

Lege auf dem Server einen Ordner an, etwa /opt/n8n, und darin eine Datei namens .env mit zwei Werten, die du zufällig erzeugst, zum Beispiel mit openssl rand -hex 32:

POSTGRES_PASSWORD=hier-ein-langes-zufaelliges-passwort
N8N_ENCRYPTION_KEY=hier-ein-zweiter-langer-zufallswert

Der Encryption Key ist der wichtigste Wert der ganzen Installation. Mit ihm verschlüsselt n8n alle Zugangsdaten, die du in Workflows hinterlegst. Setzt du ihn nicht selbst, erzeugt n8n beim ersten Start einen eigenen. Geht er verloren, etwa bei einem Umzug auf einen neuen Server, sind alle gespeicherten Zugangsdaten unbrauchbar. Bewahre ihn deshalb getrennt vom Server sicher auf, zum Beispiel im Passwortmanager.

Schritt 2: Docker Compose mit PostgreSQL

Im selben Ordner legst du eine Datei docker-compose.yml an. Sie startet zwei Container, die Datenbank und n8n:

services:
  postgres:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: n8n
    volumes:
      - postgres_data:/var/lib/postgresql/data

  n8n:
    image: docker.n8n.io/n8nio/n8n:VERSION
    restart: unless-stopped
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_PORT: 5432
      DB_POSTGRESDB_DATABASE: n8n
      DB_POSTGRESDB_USER: n8n
      DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}
      N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
      N8N_HOST: n8n.deine-firma.de
      N8N_PROTOCOL: https
      N8N_WEBHOOK_URL: https://n8n.deine-firma.de/
      GENERIC_TIMEZONE: Europe/Berlin
      TZ: Europe/Berlin
      N8N_RUNNERS_ENABLED: "true"
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      - postgres

volumes:
  postgres_data:
  n8n_data:

Drei Stellen verdienen Aufmerksamkeit:

  • VERSION ersetzt du durch eine feste Versionsnummer statt „latest". n8n empfiehlt das ausdrücklich, damit ein Neustart nicht unbemerkt eine neue Hauptversion einspielt.
  • 127.0.0.1:5678 sorgt dafür, dass n8n nur auf dem Server selbst erreichbar ist. Von außen kommt man ausschließlich über den verschlüsselten Weg aus Schritt 3.
  • N8N_WEBHOOK_URL ist die öffentliche Adresse für Webhooks. In älteren n8n-Versionen heißt die Variable WEBHOOK_URL, seit Version 2.35 gilt der neue Name.

Gestartet wird mit:

docker compose up -d

Schritt 3: Verschlüsselte Verbindung mit Caddy

Damit n8n unter deiner Subdomain mit HTTPS erreichbar ist, brauchst du einen Reverse Proxy davor. Am einfachsten geht das mit Caddy, der sich die Zertifikate selbst besorgt und erneuert. Die komplette Konfiguration in der Datei Caddyfile:

n8n.deine-firma.de {
    reverse_proxy localhost:5678
}

Voraussetzung: Der DNS-Eintrag zeigt auf den Server, und die Ports 80 und 443 sind offen. Nach dem Start von Caddy ist n8n unter https://n8n.deine-firma.de erreichbar. Wer auf dem Server schon Traefik oder nginx betreibt, nimmt die Entsprechung dort.

Schritt 4: Absichern

  • Ersten Zugang sofort anlegen. Beim ersten Aufruf legt n8n ein Eigentümerkonto an. Erledige das direkt nach der Installation, bevor jemand anderes die Seite findet.
  • Zwei-Faktor-Anmeldung aktivieren für alle Konten mit Zugriff.
  • Firewall schließen: Von außen offen sind nur SSH, 80 und 443. Port 5678 bleibt zu.
  • Zugangsdaten sparsam vergeben. Jeder Workflow bekommt nur die Rechte, die er braucht, am besten mit eigenen Zugängen statt persönlicher Konten. Warum das bei KI-Agenten besonders wichtig ist, steht in Befugnisse: Was ein KI-Mitarbeiter darf.

Schritt 5: Backups und Updates

Ein Backup besteht aus drei Teilen: der Datenbank, dem n8n-Datenordner und der .env-Datei mit dem Encryption Key. Die Datenbank sicherst du zum Beispiel so:

docker compose exec postgres pg_dump -U n8n n8n > n8n-backup.sql

Lass das täglich automatisch laufen und lege die Sicherung außerhalb des Servers ab. Ein Backup, das nur auf demselben Server liegt, hilft nicht, wenn der Server ausfällt.

Für ein Update trägst du in der docker-compose.yml die neue Versionsnummer ein und führst aus:

docker compose pull
docker compose up -d

Vorher Backup, vorher die Hinweise zur neuen Version lesen, und bei Sprüngen über mehrere Hauptversionen Schritt für Schritt vorgehen. So empfiehlt es auch n8n selbst. Deine Workflows solltest du zusätzlich als Dateien exportieren und versionieren, wie in Git erklärt beschrieben.

Self-hosted oder doch die Cloud?

Der eigene Server lohnt sich, wenn Datenhoheit entscheidend ist, viele oder lange Abläufe laufen und jemand die Wartung verlässlich übernimmt, intern oder extern. Fehlt diese Person, ist die Cloud-Variante ab 20 Euro im Monat bei jährlicher Zahlung oft die ehrlichere Wahl: Eine selbst betriebene Installation ohne Updates und Backups ist ein Sicherheitsrisiko, keine Ersparnis. Wie n8n im Vergleich zu Make und Zapier abschneidet, steht in n8n vs. Make vs. Zapier.

Häufige Fragen

Ist n8n self-hosted kostenlos?

Die Community Edition ist für die Nutzung im eigenen Unternehmen kostenlos. Kosten entstehen für den Server, für die KI-Modelle, die deine Workflows aufrufen, und für die Zeit, die Installation zu betreiben.

Kann ich n8n ohne Docker installieren?

Ja, n8n lässt sich auch über npm installieren. Docker ist für den Betrieb aber der bequemere und besser dokumentierte Weg, vor allem bei Updates und beim Umzug auf einen anderen Server.

Brauche ich PostgreSQL oder reicht SQLite?

Zum Ausprobieren reicht die eingebaute SQLite-Datenbank. Für den Betrieb im Unternehmen ist PostgreSQL die robustere Wahl, besonders wenn mehrere Abläufe gleichzeitig laufen und du saubere Backups willst.

Was passiert, wenn ich den Encryption Key verliere?

Dann kann n8n die gespeicherten Zugangsdaten nicht mehr entschlüsseln. Die Workflows bleiben erhalten, aber jede Verbindung zu anderen Programmen muss neu eingerichtet werden. Deshalb gehört der Key in jedes Backup und zusätzlich an einen sicheren Ort außerhalb des Servers.

Fazit

n8n self-hosted ist in einer Stunde eingerichtet: Docker Compose mit PostgreSQL, ein selbst gesetzter Encryption Key, Caddy für die verschlüsselte Verbindung, eine geschlossene Firewall und tägliche Backups außerhalb des Servers. Die eigentliche Arbeit beginnt danach, mit Updates und Pflege. Wenn du n8n bei euch aufsetzen und betreuen lassen willst, übernehme ich das im Rahmen der KI-Automatisierung, inklusive der ersten Workflows.

Alles Wichtige zum Thema auf einer Seite: Ratgeber Prozessautomatisierung →

Über den Autor

Dennis Drzosga

KI-Systeme, Automatisierung und Prozessoptimierung für den Mittelstand in Aalen, dem Ostalbkreis und ganz Ostwürttemberg. Mehr über mich →

Kontakt

Kostenloser Leitfaden: 10 Automatisierungs-Hebel für den Mittelstand

Die Hebel mit dem schnellsten ROI - kompakt als PDF, mit Umsetzungs-Checkliste.

Leitfaden holen →

Weiterlesen

KI-Tools
27. September 2026 · 21 Min.

KI-Fahrplan nach ChatGPT: So steigst du in Claude Code, Codex und KI-Agenten ein

Claude Code, Codex, n8n oder Hermes? Der Fahrplan nach ChatGPT: welches Werkzeug wofür taugt, in welcher Reihenfolge du einsteigst und womit du anfängst.

Weiterlesen →
KI-Tools
27. September 2026 · 6 Min.

n8n vs. Make vs. Zapier: Welches Automatisierungswerkzeug zu deinem Betrieb passt

Ähnliche Einstiegspreise, sehr unterschiedliche Rechnungen: wie die drei abrechnen, was sie kosten, wie es mit Datenhoheit und KI aussieht und welches passt.

Weiterlesen →
KI-Tools
17. September 2026 · 5 Min.

Agent Skills: Was das ist und wie du deinen ersten baust

Ein Skill ist ein Ordner mit einer Markdown-Datei, und er springt von selbst an, statt aufgerufen zu werden. Der Aufbau einer SKILL.md, die vier Teile, an denen die Qualität hängt, und eine Anleitung für die ersten zwanzig Minuten.

Weiterlesen →

Bereit, deinen größten Hebel zu finden?

In einer kostenlosen Prozessanalyse decken wir auf, wo Automatisierung bei dir am meisten bringt.