Wissen · Grundlagen

n8n selbst hosten: Docker Compose, https, Absicherung und Updates

n8n läuft in der n8n Cloud oder auf einem Server, den du selbst betreibst. Hier steht, welche Wege es gibt, wie die von n8n empfohlene Installation mit Docker Compose abläuft und wie du die Instanz absicherst.

Geprüft am 02.11.2026. Grundlage ist die offizielle Doku von n8n, aktuelle stabile Version laut Doku: 2.45.7. Die Version ändert sich oft, prüf also vor der Installation die verlinkte Doku.

01 · Wege

Welche Wege es gibt

n8n nennt zwei Grundformen: n8n Cloud, bei der n8n den Betrieb übernimmt, und das Selbsthosten auf eigener Infrastruktur. Dazwischen gibt es Hoster und Dienstleister, die dir einen Teil der Arbeit abnehmen.

Weg 1

n8n Cloud

Keine Installation, n8n kümmert sich um Hosting, Updates und Skalierung. Die Daten liegen laut n8n in Frankfurt. Kostet monatlich, siehe Was kostet n8n?

Weg 2

Eigener Server mit Docker Compose

Der Weg, den n8n für das Selbsthosten empfiehlt. Die Community Edition ist kostenlos, du zahlst den Server und kümmerst dich selbst um Updates, Sicherung und Sicherheit.

Weg 3

Server mit vorinstalliertem n8n

Manche Hoster bieten Server an, auf denen n8n schon installiert ist. Das spart die Installation. Updates, Sicherung und Absicherung bleiben trotzdem bei dir.

Weg 4

Managed Hosting durch einen Dienstleister

Ein Dienstleister betreibt deine eigene Instanz und übernimmt Updates und Sicherungen. Kostet monatlich, siehe Was kostet n8n?

Weg 5

Auf dem eigenen Rechner

Mit Docker Desktop zum Ausprobieren. Für P14 und P03 reicht das nicht: Ihre Webhooks müssen von außen per https erreichbar sein. P01 läuft nach Zeitplan und kommt ohne Zugriff von außen aus. Laut Doku ist der Tunnel von n8n nur für Entwicklung und Tests geeignet.

Weg 6

Installation mit npm

n8n lässt sich auch direkt mit Node.js installieren. Die Doku empfiehlt für die meisten Fälle aber Docker, weil es Probleme mit Betriebssystem und Werkzeugen vermeidet.

Was n8n selbst dazu sagtn8n empfiehlt das Selbsthosten für erfahrene Nutzer. Fehler können zu Datenverlust, Sicherheitsproblemen und Ausfällen führen. Wer keine Erfahrung mit Servern hat, dem empfiehlt n8n die Cloud. Das sehe ich genauso: Wenn niemand im Haus Server pflegt, nimm Weg 1 oder Weg 4.
02 · Voraussetzungen

Was du für Weg 2 brauchst

  • Einen Linux-Server mit Docker Engine und Docker Compose.
  • Eine Domain, bei der du DNS-Einträge setzen kannst, zum Beispiel für n8n.deine-domain.de.
  • Eine E-Mail-Adresse für das https-Zertifikat von Let’s Encrypt.
  • Jemanden, der den Server regelmäßig pflegt: Updates, Sicherung, Kontrolle.
03 · Installation

Installation mit Docker Compose

So läuft die Installation nach der offiziellen Anleitung von n8n. Die vollständige compose.yaml steht dort, übernimm sie von da, damit sie zu deiner Version passt.

  1. Docker installieren. Docker Engine und Docker Compose auf dem Server installieren.
    Geklappt, wenn: Der Befehl docker compose version zeigt eine Version.
  2. DNS-Eintrag setzen. Bei deinem Domain-Anbieter einen A-Eintrag für die Subdomain anlegen, der auf die Adresse deines Servers zeigt.
    Geklappt, wenn: Die Subdomain löst auf die Adresse deines Servers auf.
  3. Projektordner und .env anlegen. In der Datei .env stehen Domain, Subdomain, Zeitzone und die E-Mail für das Zertifikat. Dazu kommt ein Ordner local-files für Dateien, die n8n lesen darf.
  4. compose.yaml übernehmen. Die Datei aus der n8n-Doku startet zwei Dienste: Traefik holt das Zertifikat und nimmt https-Anfragen an, n8n selbst lauscht nur lokal auf Port 5678. Die Daten liegen im Volume n8n_data.
  5. Starten. docker compose up -d im Projektordner.
    Geklappt, wenn: Unter https://n8n.deine-domain.de erscheint die Einrichtung des Owner-Kontos.
  6. Owner-Konto sofort anlegen. Wer die Seite zuerst aufruft, legt das erste Konto an. Erledige das direkt nach dem Start.
    Geklappt, wenn: Du meldest dich mit deinem Konto an.
# .env (Beispiel, Werte anpassen)
DOMAIN_NAME=deine-domain.de
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Europe/Berlin
SSL_EMAIL=du@deine-domain.de

Die öffentliche Webhook-Adresse setzt du mit N8N_WEBHOOK_URL. Der alte Name WEBHOOK_URL gilt seit n8n 2.35.0 als veraltet, funktioniert aber noch, n8n zeigt dann beim Start eine Warnung. Die Variable muss auf deine https-Adresse zeigen, sonst zeigen Webhook-Knoten eine falsche Adresse an.

04 · Absicherung

Absicherung: Pflicht, bevor ein Ablauf live geht

Eine n8n-Instanz enthält die Zugänge zu deinen Systemen. Diese Punkte gehören zu jeder Installation:

  1. Nur https. n8n nie direkt über Port 5678 ins Netz stellen. Der Weg aus der Doku leitet alles über Traefik mit Zertifikat.
    Geklappt, wenn: Die Adresse beginnt mit https:// und der Browser zeigt kein Warnsymbol.
  2. Zwei-Faktor-Anmeldung einschalten. Unter „Settings“, „Personal“, „Enable 2FA“ mit einer Authenticator-App. Die Wiederherstellungscodes sicher aufbewahren.
    Geklappt, wenn: Bei der nächsten Anmeldung fragt n8n nach dem Code.
  3. Öffentliche API abschalten, wenn du sie nicht nutzt. n8n empfiehlt das ausdrücklich. Umgebungsvariable N8N_PUBLIC_API_DISABLED=true.
  4. Sicherheitsprüfung laufen lassen. Der Befehl n8n audit sucht nach typischen Sicherheitsproblemen. Im Container: docker exec -u node -it <container> n8n audit.
    Geklappt, wenn: Der Bericht zeigt keine offenen Punkte, die du nicht bewusst so willst.
  5. Schlüssel sichern. n8n verschlüsselt alle Zugänge mit einem Schlüssel, der beim ersten Start im Ordner .n8n entsteht. Ohne ihn lassen sich gesicherte Zugänge nicht wiederherstellen. Du kannst ihn auch selbst über N8N_ENCRYPTION_KEY setzen.
  6. Webhooks absichern. Jeder Webhook, der von außen erreichbar ist, braucht einen Schutz, zum Beispiel einen geheimen Header oder eine Signatur. So machen es auch die Baupläne.

Die Doku nennt weitere Schritte, je nach Bedarf: Telemetrie abschalten, einzelne Knoten sperren, SSRF-Schutz, Datenschutz für Ausführungsdaten, Härtung der Task-Runner, Rotation des Schlüssels und Anmeldung über SSO. Die Übersicht steht unter „Securing n8n“ in der Doku.

05 · Betrieb

Updates und Sicherung

Updates. n8n rät, häufig zu aktualisieren, mindestens einmal im Monat, damit du beim Update nicht mehrere Versionen auf einmal überspringst. Vorher die Release Notes auf Breaking Changes prüfen und eine vollständige Sicherung machen. Mit Docker Compose:

docker compose pull
docker compose down
docker compose up -d

Sicherung. Eine vollständige Sicherung besteht laut n8n aus dem Ordner .n8n (bei Docker im Volume n8n_data) und, falls du PostgreSQL nutzt, der Datenbank. Im Ordner liegen der Schlüssel und bei SQLite auch die Datenbank. Bei SQLite n8n vor dem Kopieren stoppen, sonst kann die Sicherung unvollständig sein.

Zusätzlich kannst du Abläufe und Zugänge als Dateien exportieren:

n8n export:workflow --backup --output=backups/workflows/
n8n export:credentials --backup --output=backups/credentials/

Dieser Export enthält keine Benutzer, keine Ausführungen, keine Variablen und nicht den Schlüssel. Er reicht, um Abläufe umzuziehen, aber nicht, um eine ganze Instanz wiederherzustellen. Die Zugänge sind darin verschlüsselt, für den Import brauchst du denselben Schlüssel. Im Container landet der Ordner backups/ nicht im Volume, kopier die Dateien also heraus.

06 · Hilfe

Wenn etwas nicht klappt

Webhook-Knoten zeigen eine Adresse mit localhost

Die öffentliche Adresse fehlt. Setz N8N_WEBHOOK_URL (bei älteren Versionen WEBHOOK_URL) auf deine https-Adresse und lade den Container mit docker compose up -d neu. Ein reiner Neustart übernimmt geänderte Variablen nicht.

Nach einem Umzug lassen sich die Zugänge nicht mehr öffnen

Der Schlüssel der alten Instanz fehlt. Stell die Datei config im Ordner .n8n wieder her oder setz denselben N8N_ENCRYPTION_KEY.

Passwort vergessen, keine Mail für das Zurücksetzen eingerichtet

n8n user-management:reset setzt die Benutzerverwaltung zurück. Achtung: Das entfernt alle Benutzerkonten. Danach legst du das Owner-Konto neu an.

Authenticator verloren

n8n mfa:disable --email=du@deine-domain.de schaltet die Zwei-Faktor-Anmeldung für dieses Konto ab. Danach richtest du sie neu ein.

07 · Tech-Stack

Auf einen Blick

n8nPflicht

Die Automatisierung selbst. Community Edition, kostenlos.

Quelle
Image n8nio/n8n, Anleitung in der n8n-Doku
Docker und Docker ComposePflicht

Startet n8n und Traefik in Containern.

Prüfen
docker compose version
Traefik und Let’s EncryptPflicht

Nimmt https an und holt das Zertifikat automatisch.

Steckt in
der compose.yaml aus der n8n-Doku
Domain mit DNSPflicht

Eine Subdomain mit A-Eintrag auf den Server.

Wo
bei deinem Domain-Anbieter
PostgreSQLOptional

Standard ist SQLite. n8n unterstützt auch PostgreSQL, das du dann mit eigenen Werkzeugen sicherst.

Variable
DB_TYPE=postgresdb und Zugangsdaten
08 · Lieber machen lassen?

Lieber machen lassen?

Wenn niemand im Haus Server pflegt, nimm n8n Cloud oder lass dir helfen. Ich richte n8n und die Abläufe ein, siehe Marketing-Automatisierung.

Diese Baupläne brauchen eine von außen erreichbare Instanz:

Der Bauplan Marge und Kampagnenklasse (P01) läuft nach Zeitplan und braucht das nicht.

09 · Quellen

Quellen

Erstgespräch

Lieber machen lassen?

In einem kostenlosen 20-Minuten-Gespräch klären wir, was du brauchst und ob ich der Richtige dafür bin.

Erstgespräch anfragen →

Für ein kostenloses Erstgespräch (20 Minuten über Google Meet) schreib mir kurz über das Kontaktformular. Ich schlage dir dann einen Termin vor.