> ## Content Index
> Fetch the complete content index at: https://sakis.tech/llms.txt
> Use this file to discover other available public pages before exploring further.

# n8n installieren mit Docker Compose: Schritt für Schritt
- URL: https://sakis.tech/n8n-installieren-docker-compose/
- Published: 2026-09-20T08:34:57.000Z
- Updated: 2026-09-20T08:34:57.000Z
- Description: n8n verdrahtet deine Homelab-Dienste: Wenn hier etwas passiert, tu dort etwas. So installierst du es per Docker Compose, nur fürs Heimnetz, mit Zeitzone, Owner-Konto, Backup-Weg und dem Cookie-Schalter, den sonst erst die Fehlermeldung verrät.
- Author: Sakis
- Tags: homelab, docker

Ein Homelab sammelt kleine Handgriffe. Paperless hat einen Brief erkannt, also mal nachsehen. Uptime Kuma hat nachts etwas gemeldet, also morgens die Mail lesen. Jeden Montag den Backup-Bericht öffnen, weil man ihn sonst vergisst. Jeder dieser Handgriffe dauert eine Minute, und zusammen sind sie der Grund, warum die Dienste einem irgendwann hinterherlaufen statt umgekehrt.

n8n ist das Werkzeug, mit dem man solche Handgriffe verdrahtet: Wenn hier etwas passiert, tu dort etwas. Die Verdrahtung malt man im Browser, als Kästchen mit Linien dazwischen, und n8n führt sie aus, solange der Container läuft. Nach eigener Angabe verbindet es über 1.500 Dienste, von Telegram über E-Mail bis zu jedem Programm, das eine HTTP-Schnittstelle hat. Wir installieren es per Docker Compose, nur fürs Heimnetz, mit einer Compose-Datei, die im Sandkasten dieser Seite gelaufen ist, bevor sie hier steht.

**Kurz gesagt:** Am Ende läuft n8n als Container auf deinem Linux-Rechner, mit deiner Zeitzone, einem Owner-Konto, einem Docker-Volume für Datenbank und Schlüssel, ohne Telemetrie und ohne Weg ins Internet. Ein erster Workflow mit Webhook zeigt, dass alles zusammenspielt. Dauer: rund 20 Minuten. Stufe: Standard, du kennst Docker und die Kommandozeile im Groben. Stand: n8n 2.39.8 (Docker-Tag `stable`), geprüft am 20-09-2026.

![Schaubild: n8n in drei Schritten: compose.yaml mit Zeitzone und Volume anlegen, docker compose up -d mit Erfolgskontrolle über /healthz, Owner-Konto und erster Webhook-Workflow auf Port 5678](https://sakis.tech/content/images/2026/09/grafik-30.png)

Der ganze Weg auf einen Blick: Rezept schreiben, Container starten, Owner und Webhook im Browser.

## Was n8n ist, und was man vorher wissen sollte

Ein Workflow in n8n ist eine Kette aus Kästchen. Das erste Kästchen wartet auf einen Anlass, die weiteren tun etwas mit dem, was ankommt. Der Anlass kann eine Uhrzeit sein, eine neue Mail, oder ein Aufruf von außen, ein sogenannter Webhook.

**Node, Trigger, Webhook?** Ein Node ist ein Kästchen im Workflow, ein Arbeitsschritt: Mail holen, Text umbauen, Nachricht schicken. Der Trigger ist das erste Kästchen, der Anlass, bei dem die Kette losläuft. Ein Webhook ist ein Trigger, der auf eine Web-Adresse hört: Ruft jemand diese Adresse auf, startet der Workflow. Eine Türklingel mit Internetanschluss.

Browser→ Port 5678 →n8n-Container→ ruft auf →Paperless, Telegram, Mail, …

Zwei Dinge gehören vor die Installation, weil sie die Entscheidung beeinflussen, ob man n8n überhaupt will.

**Die Lizenz.** n8n nennt sich „fair-code“. Der Quellcode liegt offen, man darf ihn laut Lizenztext „für interne Geschäftszwecke“ und für „nicht-kommerzielle oder persönliche Nutzung“ einsetzen, verändern und weitergeben. Was nicht geht: n8n selbst als Dienst verkaufen. Für zu Hause ändert das nichts, aber Open Source im üblichen Sinn ist es nicht, und ich finde, man sollte das wissen, bevor man Stunden in Workflows steckt. Einige Funktionen der Community-Ausgabe fehlen außerdem, etwa das Teilen von Workflows mit anderen Benutzern; das ist den bezahlten Stufen vorbehalten. Für eine Person im Heimnetz reicht, was übrig bleibt, und das ist fast alles.

**Die Sicherheitslage.** Zwischen Januar und März 2026 wurden mehrere kritische Lücken in n8n bekannt. Die schwerste, CVE-2026-21858, ließ sich laut der Analyse von Orca Security ohne Anmeldung über die Webhook-Adressen ausnutzen, mit der Höchstwertung 10.0; betroffen war alles vor Version 1.121.0\. Wer heute frisch installiert, bekommt eine Version weit dahinter. Die Lehre bleibt trotzdem: n8n hält Zugangsdaten zu all deinen Diensten, und so ein Ding stellt man nicht ins Internet. In dieser Anleitung ist es nur im Heimnetz erreichbar, und die Updates machst du regelmäßig; die Doku empfiehlt einmal im Monat.

## Was du brauchst

- Einen Linux-Rechner mit Docker und Docker Compose v2\. Das Image gibt es für amd64 und arm64\. Wer Docker noch nicht hat: [Bei Paperless-ngx](https://sakis.tech/paperless-ngx-mit-docker-installieren-schritt-fur-schritt/) steht der Weg.
- Port 5678 frei.
- Einen Browser auf einem Gerät im selben Netz.
- Zehn Minuten für einen ersten Workflow, damit du am Ende siehst, dass alles zusammenspielt.

**So liest du diese Anleitung:** Alles, was du selbst tun sollst, steht in einem farbigen Kasten. **\[ per klick \]** heißt: Das erledigst du mit der Maus in einer Web-Oberfläche, hier der Editor von n8n im Browser. **\[ über die shell \]** heißt: Den Befehl kopieren, ins Terminal einfügen, Enter. Stehen beide Kästen direkt untereinander, führen sie zum selben Ergebnis. Du gehst EINEN davon, nicht beide.

Die prüfbaren Punkte klärst du auf dem Server. Zuerst Docker:

```bash
docker --version
docker compose version
```

Beide Zeilen liefern eine Versionsnummer. Kennt dein Rechner nur `docker-compose` mit Bindestrich, ist das die alte Version 1; die Anleitung setzt v2 voraus.

Dann der Port:

```bash
sudo ss -tulpn | grep ':5678 ' || echo "Port 5678 ist frei"
```

```text
Port 5678 ist frei
```

Steht statt der Meldung eine Zeile mit einem Programmnamen, sitzt dort schon jemand. [Wie du ihn findest](https://sakis.tech/port-belegt-so-findest-du-den-schuldigen-und-gibst-ihn-frei/), steht in einem eigenen Beitrag.

Alle Befehle rechnen mit denselben Beispielwerten. Wo sie unten auftauchen, setzt du deine ein:

- IP-Adresse des Docker-Rechners: `192.168.178.60`
- Ordner für die Compose-Datei: `~/n8n`
- Port der Weboberfläche: `5678`
- Zeitzone: `Europe/Berlin`
- Owner-Konto in n8n: `sakis@example.org`
- Sein Passwort: `Werkbank-2026` als Platzhalter; du nimmst ein eigenes, langes

## Schritt 1: Ordner und Compose-Datei

Grundlage ist der `docker run`\-Befehl aus der n8n-Doku zur Docker-Installation, übersetzt in eine Compose-Datei, damit die ganze Installation in einer Datei steht und ein Update aus zwei Befehlen besteht. Dazu kommen vier Variablen aus der Referenz der Umgebungsvariablen, die das Heimnetz braucht. Was jede Zeile tut, steht unter der Datei.

Ordner anlegen und hineinwechseln:

```bash
mkdir -p ~/n8n
cd ~/n8n
```

Datei anlegen:

```bash
nano compose.yaml
```

Inhalt einfügen, mit Strg+O und Enter speichern, mit Strg+X schließen:

```yaml
services:
  n8n:
    image: n8nio/n8n:stable
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Europe/Berlin
      - TZ=Europe/Berlin
      - N8N_SECURE_COOKIE=false
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - N8N_DIAGNOSTICS_ENABLED=false
      - N8N_WEBHOOK_URL=http://192.168.178.60:5678/
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:
```

Ob Compose die Datei versteht, zeigt eine Probe ohne Start:

```bash
docker compose config --quiet && echo OK
```

```text
OK
```

Kommt eine Fehlermeldung mit Zeilennummer statt `OK`, ist fast immer die Einrückung schuld; YAML zählt Leerzeichen.

`**image: n8nio/n8n:stable**` n8n veröffentlicht fast täglich. Auf GitHub hängen zwei Marken an den Releases: `stable` zeigt heute auf 2.39.8 vom 18-09-2026, `beta` auf die 2.40er-Reihe, die noch als Vorabversion markiert ist. Auf Docker Hub hat der Tag `latest` im Moment dieselbe Prüfsumme wie `stable`; ich nehme trotzdem `stable`, weil das Wort sagt, was ich will, und `latest` es nur zufällig gerade tut.

**`GENERIC_TIMEZONE` und `TZ`** Zwei Variablen für dieselbe Sache, und die Doku besteht auf beiden: Die erste gilt für Zeitpläne in Workflows, die zweite für die Uhr des Containers. Der Standardwert der ersten ist `America/New_York`. Ohne die Zeile läuft ein Workflow, den du auf acht Uhr morgens legst, um zwei Uhr nachmittags.

`**N8N_SECURE_COOKIE=false**` Die Variable, die die meisten Neulinge erst nach der ersten Fehlermeldung finden. Standardmäßig setzt n8n sein Anmelde-Cookie nur über HTTPS. Wir reden es aber über `http://192.168.178.60:5678` an, ohne Verschlüsselung, und dann verweigert der Browser die Anmeldung. Der Schalter nimmt die Pflicht heraus. Das ist im Heimnetz vertretbar und nur dort: Sobald HTTPS über einen Reverse Proxy davor liegt, gehört die Zeile wieder weg.

`**N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true**` Steht so im `docker run`\-Befehl der Doku. n8n legt beim ersten Start eine Datei mit dem Schlüssel an, mit dem es alle Zugangsdaten verschlüsselt, und die Variable sorgt dafür, dass nur der Benutzer im Container sie lesen darf.

**`N8N_DIAGNOSTICS_ENABLED=false`** Standardmäßig schickt n8n anonyme Nutzungsdaten an den Hersteller. Die Doku sagt das offen, und sie sagt auch, wie man es abstellt. Ich stelle es ab.

`**N8N_WEBHOOK_URL**` Die Adresse, unter der n8n seine Webhooks nach außen zeigt. Ohne sie baut n8n Adressen mit `localhost`, und die kann kein anderes Gerät aufrufen. Die Doku kennt die Variable auch als `WEBHOOK_URL`, aber die Schreibweise gilt seit 2.35.0 als veraltet und produziert beim Start eine Warnung.

`**volumes**` Ein von Docker verwaltetes Volume namens `n8n_data`, eingehängt dort, wo n8n seine Daten hält: die SQLite-Datenbank mit allen Workflows, die Ausführungsprotokolle und die Datei mit dem Verschlüsselungsschlüssel. Ein Volume statt eines Ordners, weil das die häufigste Startpanne von vornherein vermeidet; dazu unten mehr.

## Schritt 2: Starten

```bash
docker compose up -d
```

Beim ersten Mal lädt Docker das Image; im Sandkasten dieser Seite dauerte das mit Start zusammen 37 Sekunden. Danach:

```bash
docker compose ps
```

In der Spalte `STATUS` steht `Up`. Ob n8n auch antwortet, fragst du an seiner Gesundheitsadresse nach, die die Doku dafür vorsieht:

```bash
curl -s -o /dev/null -w '%{http_code}\n' http://localhost:5678/healthz
curl -s -o /dev/null -w '%{http_code}\n' http://localhost:5678/healthz/readiness
```

```text
200
200
```

Die erste Zeile sagt: n8n ist erreichbar. Die zweite sagt: Die Datenbank ist angelegt und auf dem aktuellen Stand, n8n nimmt Arbeit an. Direkt nach dem Start liefern beide Zeilen noch `000`; warte ein paar Sekunden, beim allerersten Start legt n8n die Datenbank erst an. Bleibt es dabei, zeigt das Log den Grund:

```bash
docker compose logs --tail 30 n8n
```

## Schritt 3: Das Owner-Konto

Der erste Mensch, der die Oberfläche öffnet, wird Owner, mit allen Rechten. Deshalb machst du das jetzt, bevor jemand anderes im Haus die Adresse findet.

Im Browser **http://192.168.178.60:5678** öffnen. n8n zeigt das Formular für das Owner-Konto (Stand n8n 2.39): **E-Mail** `sakis@example.org`, Vor- und Nachname, **Passwort** `Werkbank-2026`. Das Passwort braucht laut Doku mindestens acht Zeichen, eine Zahl und einen Großbuchstaben. Bestätigen.

Danach zeigt n8n eine Seite „Build and debug faster with the AI Assistant“ mit den Knöpfen **Get started** und **Set up later in Settings**; Letzteren klicken, die Seite ändert nichts an der Installation. Bietet n8n dir anschließend einen kostenlosen Lizenzschlüssel per E-Mail an: Der schaltet Ordner für Workflows und ein paar Komfortfunktionen im Editor frei, mehr nicht. Das kann warten.

![Das n8n-Formular Set up owner account mit E-Mail, Vor- und Nachname und Passwort ausgefüllt, darunter der Knopf Next.](https://sakis.tech/content/images/2026/09/labor-n8n-installieren-docker-compose-01-2026-09-20.png)

(1) E-Mail: sakis@example.org; (2) Passwort: Werkbank-2026; (3) Hier klicken

![Die leere n8n-Übersicht nach der Einrichtung mit der Überschrift Let's build your first automation und dem Knopf Build a workflow.](https://sakis.tech/content/images/2026/09/labor-n8n-installieren-docker-compose-02-2026-09-20.png)

Leere Übersicht, hier geht es weiter

Du landest in der leeren Übersicht deiner Workflows. Die E-Mail ist hier nur der Anmeldename: n8n verschickt nichts, solange kein Mailserver eingetragen ist, und den brauchst du im Heimnetz nicht. Weitere Benutzer lädst du später unter den Einstellungen ein; ohne Mailserver zeigt n8n dir dafür einen Link, den du selbst weitergibst.

## Schritt 4: Ein erster Workflow als Probe

Bis hierhin weißt du, dass n8n läuft. Ob es auch von außen erreichbar ist und seine Webhook-Adressen richtig baut, zeigt ein Workflow aus einem einzigen Kästchen.

Einen neuen Workflow anlegen. Als ersten Node **On webhook call** wählen. Im Node bleibt **HTTP Method** auf `GET`, unter **Path** steht schon ein zufälliger Pfad, den lässt du. Oben im Node stehen zwei Adressen, **Test URL** und **Production URL**. Die **Test URL** kopieren, dann auf **Listen for test event** klicken. n8n hört jetzt 120 Sekunden lang auf diese Adresse.

![Die Auswahl What triggers this workflow im leeren n8n-Editor, darin der Eintrag On webhook call.](https://sakis.tech/content/images/2026/09/labor-n8n-installieren-docker-compose-03-2026-09-20.png)

On webhook call wählen

![Der geöffnete Webhook-Node in n8n mit Test URL http://192.168.178.60:5678/webhook-test/…, HTTP Method GET, dem Feld Path und dem Knopf Listen for test event.](https://sakis.tech/content/images/2026/09/labor-n8n-installieren-docker-compose-04-2026-09-20.png)

(1) Test URL; (2) Diese Adresse kopieren; (3) Listen for test event

![Der Webhook-Node in n8n nach Listen for test event: links steht Listening for test event mit der Test-URL, die jetzt 120 Sekunden lang auf den Aufruf wartet.](https://sakis.tech/content/images/2026/09/labor-n8n-installieren-docker-compose-05-2026-09-20.png)

n8n wartet jetzt 120 Sekunden

Innerhalb dieser zwei Minuten rufst du die Adresse von einem anderen Rechner im Netz auf, mit der kopierten Test-URL in Anführungszeichen:

```bash
curl "http://192.168.178.60:5678/webhook-test/DEIN-PFAD"
```

Im Editor füllt sich der Node mit dem, was angekommen ist: die Kopfzeilen des Aufrufs, darunter `curl` als Absender. Das ist der Moment, in dem die Installation fertig ist: Ein Gerät im Netz hat n8n unter der Adresse erreicht, die n8n selbst herausgibt. Alles, was du ab jetzt baust, hängt an genau diesem Mechanismus.

Fängt die Test-URL mit `localhost` an statt mit deiner IP, fehlt `N8N_WEBHOOK_URL` in der Compose-Datei oder steht dort falsch; nach dem Korrigieren `docker compose up -d` erneut ausführen, Compose startet den Container dann mit den neuen Werten.

## Was am Ende eingestellt ist

**1\. Ein Owner, sonst niemand.** Dein Konto darf alles, und es gibt keinen Weg, ohne Anmeldung an die Oberfläche zu kommen. n8n bringt eine Zwei-Faktor-Anmeldung mit, die laut Referenz standardmäßig erlaubt ist; einschalten musst du sie selbst in deinen Kontoeinstellungen. Für ein Gerät, das die Passwörter deiner anderen Dienste kennt, würde ich das tun.

**2\. Alles liegt in einem Volume, und das Backup ist ein Archiv.** Workflows, Zugangsdaten, Ausführungen und der Verschlüsselungsschlüssel liegen in `n8n_data`. Die Doku nennt den Schlüssel den Teil, ohne den ein Backup wertlos ist: Ohne ihn lassen sich die gesicherten Zugangsdaten nicht mehr lesen. Der einfachste vollständige Sicherungsweg ist der aus der Docker-Doku, das Volume als Tar-Archiv, bei angehaltenem Container, weil die Doku von n8n davor warnt, die Datenbank im Betrieb zu kopieren:

```bash
cd ~/n8n
docker compose stop
docker run --rm --volumes-from n8n -v "$(pwd)":/backup ubuntu tar cvf /backup/n8n-backup.tar /home/node/.n8n
docker compose start
```

Danach liegt `n8n-backup.tar` in `~/n8n`, und die Datei gehört in jedes Backup, das du hast. Wer nur die Workflows als lesbare Dateien will, bekommt von n8n dafür eigene Befehle, `n8n export:workflow --backup`, per `docker exec` im Container; die Doku beschreibt sie, und sie sichern ausdrücklich nicht den Schlüssel.

**3\. Updates kommen von dir, einmal im Monat.** n8n aktualisiert sich nicht selbst, zeigt aber in der Oberfläche an, wenn es eine neue Version gibt. Die Doku empfiehlt, monatlich nachzuziehen und vorher in die Release Notes zu sehen. Der Weg ist der aus der Doku:

```bash
cd ~/n8n
docker compose pull
docker compose down
docker compose up -d
```

Das Volume bleibt bei `down` erhalten; nur der Container wird ersetzt. Vor einem Sprung auf eine neue Hauptversion kommt das Archiv aus Punkt 2, denn Datenbankumbauten kennen keinen Rückweg.

**4\. Nur im Heimnetz, und per HTTP.** Port 5678 spricht unverschlüsselt, und dank `N8N_SECURE_COOKIE=false` lässt sich n8n das gefallen. Beides ist nur deshalb in Ordnung, weil im Router keine Weiterleitung auf diesen Port existiert. Das bleibt so. Wer n8n unterwegs braucht, nimmt ein VPN oder einen [Reverse Proxy](https://sakis.tech/was-ist-ein-reverse-proxy-einfach-erklart-furs-homelab/) mit HTTPS davor und nimmt dann den Cookie-Schalter wieder heraus. Und wer eine UFW-Firewall auf dem Rechner hat, sollte wissen, dass Docker [an ihr vorbei](https://sakis.tech/docker-ufw-ports-trotz-firewall-offen/) veröffentlicht: Die Zeile `"5678:5678"` öffnet den Port für das ganze Netz, Firewall hin oder her.

**5\. Alte Ausführungen räumt n8n selbst weg.** Jeder Lauf eines Workflows landet mit allen Daten in der Datenbank. Standardmäßig löscht n8n Ausführungen nach 336 Stunden, also zwei Wochen, und hält höchstens 10.000 davon. Für zu Hause ist das ein guter Wert; wer die Datenbank klein halten will, setzt `EXECUTIONS_DATA_MAX_AGE` in der Compose-Datei niedriger.

## Wo es klemmt

**„Your n8n server is configured to use a secure cookie, however you are visiting this via an insecure URL.“** Der Klassiker, im Forum von n8n gibt es dazu ganze Themenfäden. Es fehlt `N8N_SECURE_COOKIE=false`, oder der Container läuft noch mit der alten Umgebung. Nachsehen, was der Container wirklich bekommen hat:

```bash
docker compose exec n8n env | grep N8N_SECURE_COOKIE
```

Kommt nichts zurück, steht die Zeile nicht in der Datei, die Compose gelesen hat. Nach dem Nachtragen `docker compose up -d`, das genügt.

**Der Container startet immer wieder neu, im Log steht „EACCES: permission denied, open '/home/node/.n8n/config'“.** Das passiert, wenn statt des Volumes ein Ordner deines Rechners eingehängt ist, etwa `./data:/home/node/.n8n`, und der Ordner root gehört. Der Container läuft als Benutzer `node` mit der Kennung 1000 und darf dort nicht schreiben. In den Issues von n8n ist das seit Issue #1240 bekannt und taucht bis heute in neuen Meldungen auf. Mit dem Volume aus dieser Anleitung tritt es nicht auf; wer den Ordner trotzdem will, übergibt ihn vorher:

```bash
sudo chown -R 1000:1000 ~/n8n/data
docker compose restart
```

**Der Zeitplan feuert zur falschen Uhrzeit.** Sechs Stunden daneben, und zwar immer sechs: Das ist New York. Die Zeile `GENERIC_TIMEZONE=Europe/Berlin` fehlt, oder der Workflow hat in seinen eigenen Einstellungen eine andere Zeitzone, die laut Doku Vorrang hat.

**Port 5678 ist belegt.** In der Compose-Datei die Zeile zu `"5679:5678"` ändern, dann lauscht n8n außen auf 5679 und innen weiter auf 5678\. Die Adresse in `N8N_WEBHOOK_URL` bekommt denselben neuen Port, sonst zeigen die Webhooks ins Leere.

Ein Container, eine Datei, ein Konto, ein Kästchen mit einer Adresse, die von außen antwortet. Was mir an n8n gefällt, ist nicht die Zahl der Integrationen, sondern dass die Verdrahtung zwischen deinen Diensten jetzt auf deinem Rechner liegt und nicht bei einem Anbieter, der sie pro Ausführung abrechnet. Was mir weniger gefällt, steht oben: Die Lizenz ist keine freie, und die Lückenserie vom Winter war kein Ausrutscher, sondern ein Muster. Beides lässt sich tragen, wenn das Ding im Heimnetz bleibt und die Updates kommen.

Welcher Handgriff soll bei dir als Erstes von allein laufen? Der Brief aus Paperless aufs Handy, der Backup-Bericht in den Chat, oder etwas, an das ich nicht gedacht habe? Schreib's in die Kommentare, das ist Stoff für den nächsten Beitrag.

Und wenn du n8n irgendwann von unterwegs erreichen willst: [Nginx Proxy Manager](https://sakis.tech/nginx-proxy-manager-installieren/) steht hier schon Schritt für Schritt, und mit ihm davor darf der Cookie-Schalter wieder weg.

sakis@homelab:\~$ echo "bleib neugierig — und mach backups" 

## Quellen

- [n8n-Doku: Install with Docker (docker run mit GENERIC\_TIMEZONE, TZ, N8N\_ENFORCE\_SETTINGS\_FILE\_PERMISSIONS, Volume /home/node/.n8n, Update-Befehle pull, down, up)](https://docs.n8n.io/deploy/host-n8n/install-options/install-with-docker.md?ref=sakis.tech)
- [n8n-Doku: Umgebungsvariablen Security (N8N\_SECURE\_COOKIE Standard true, N8N\_ENFORCE\_SETTINGS\_FILE\_PERMISSIONS, N8N\_MFA\_ENFORCED\_ENABLED)](https://docs.n8n.io/deploy/host-n8n/configure-n8n/basic-configuration/use-environment-variables/security.md?ref=sakis.tech)
- [n8n-Doku: Umgebungsvariablen Deployment (N8N\_DIAGNOSTICS\_ENABLED Standard true, N8N\_ENCRYPTION\_KEY, N8N\_PORT 5678)](https://docs.n8n.io/deploy/host-n8n/configure-n8n/basic-configuration/use-environment-variables/deployment.md?ref=sakis.tech)
- [n8n-Doku: Umgebungsvariablen Endpoints (N8N\_WEBHOOK\_URL; WEBHOOK\_URL seit 2.35.0 veraltet)](https://docs.n8n.io/deploy/host-n8n/configure-n8n/basic-configuration/use-environment-variables/endpoints.md?ref=sakis.tech)
- [n8n-Doku: Timezone (GENERIC\_TIMEZONE, Standard America/New\_York)](https://docs.n8n.io/deploy/host-n8n/configure-n8n/basic-configuration/use-environment-variables/timezone-and-localization.md?ref=sakis.tech)
- [n8n-Doku: Umgebungsvariablen Executions (EXECUTIONS\_DATA\_MAX\_AGE 336, EXECUTIONS\_DATA\_PRUNE\_MAX\_COUNT 10000)](https://docs.n8n.io/deploy/host-n8n/configure-n8n/basic-configuration/use-environment-variables/executions.md?ref=sakis.tech)
- [n8n-Doku: Umgebungsvariablen User management und 2FA (N8N\_MFA\_ENABLED Standard true, SMTP-Variablen)](https://docs.n8n.io/deploy/host-n8n/configure-n8n/basic-configuration/use-environment-variables/user-management-and-2fa.md?ref=sakis.tech)
- [n8n-Doku: User management (Owner-Formular, Passwortregel, Einladung ohne SMTP per Link)](https://docs.n8n.io/deploy/host-n8n/configure-n8n/user-management.md?ref=sakis.tech)
- [n8n-Doku: Community edition features (was fehlt, was der kostenlose Registrierungsschlüssel freischaltet)](https://docs.n8n.io/deploy/host-n8n/community-edition-features.md?ref=sakis.tech)
- [n8n-Doku: Monitor n8n (/healthz und /healthz/readiness)](https://docs.n8n.io/deploy/host-n8n/keep-n8n-running/monitor-n8n.md?ref=sakis.tech)
- [n8n-Doku: Backup and restore (.n8n-Ordner samt Schlüssel, vor dem Kopieren stoppen, export:workflow --backup)](https://docs.n8n.io/deploy/host-n8n/keep-n8n-running/backup-and-restore.md?ref=sakis.tech)
- [n8n-Doku: Update n8n (monatliche Updates, Release Notes vorher lesen)](https://docs.n8n.io/deploy/host-n8n/keep-n8n-running/update-n8n.md?ref=sakis.tech)
- [n8n-Doku: Webhook-Node, Test URL und Production URL (120 Sekunden nach „Listen for test event“)](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/workflow-development.md?ref=sakis.tech)
- [n8n-Doku: Schedule Trigger (Zeitzone des Workflows vor der Instanz-Zeitzone)](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger.md?ref=sakis.tech)
- [Docker-Doku: Volumes (Back up a volume mit --volumes-from und tar)](https://docs.docker.com/engine/storage/volumes/?ref=sakis.tech)
- [n8n auf GitHub (fair-code, über 1.500 Integrationen, Quick Start mit docker run)](https://github.com/n8n-io/n8n?ref=sakis.tech)
- [n8n: Sustainable Use License (interne Geschäftszwecke, nicht-kommerzielle oder persönliche Nutzung)](https://github.com/n8n-io/n8n/blob/master/LICENSE.md?ref=sakis.tech)
- [n8n: Release-Marke stable (2.39.8, 18-09-2026)](https://github.com/n8n-io/n8n/releases/tag/stable?ref=sakis.tech)
- [Docker Hub: Tags n8nio/n8n (latest mit derselben Prüfsumme wie 2.39.8)](https://hub.docker.com/v2/repositories/n8nio/n8n/tags?page%5Fsize=10&name=latest&ref=sakis.tech)
- [Orca Security: CVE-2026-21858 (CVSS 10.0, ohne Anmeldung über Webhook-Endpunkte, behoben in 1.121.0)](https://orca.security/resources/blog/cve-2026-21858-n8n-rce-vulnerability/?ref=sakis.tech)
- [The Hacker News: n8n warnt vor CVE-2026-21877 (Instanzen nicht öffentlich exponieren)](https://thehackernews.com/2026/01/n8n-warns-of-cvss-100-rce-vulnerability.html?ref=sakis.tech)
- [n8n-Forum: „configured to use a secure cookie“ (Fehlermeldung und N8N\_SECURE\_COOKIE)](https://community.n8n.io/t/error-your-n8n-server-is-configured-to-use-a-secure-cookie-however-you-are-visiting-this-via-an-insecure-url/47978?ref=sakis.tech)
- [n8n: Issue #1240, EACCES permission denied /home/node/.n8n/config (Bind-Mount gehört root)](https://github.com/n8n-io/n8n/issues/1240?ref=sakis.tech)
- [n8n: Issue #11102, derselbe Fehler in neueren Versionen](https://github.com/n8n-io/n8n/issues/11102?ref=sakis.tech)