n8n ist eines der mächtigsten Open-Source-Automatisierungstools überhaupt – und das Beste daran: Du kannst es komplett selbst hosten, auf deinem eigenen NAS. Keine monatlichen Gebühren, keine Cloud-Abhängigkeit, volle Kontrolle über deine Daten.
In diesem Artikel zeige ich dir, wie du n8n mit Docker auf deinem Synology oder Ugreen NAS zum Laufen bringst – inklusive PostgreSQL-Datenbank für stabile, persistente Datenspeicherung.
Was du brauchst
| Synology | Ugreen | |
|---|---|---|
| Betriebssystem | DSM 7 oder höher | UGOS (aktuell) |
| Docker-Verwaltung | Container Manager (Paketzentrum) | Docker App |
| Dateimanager | File Station | Dateimanager |
Schritt 1: Ordner anlegen
Bevor wir den Container starten, müssen wir die Verzeichnisse manuell anlegen – sonst erstellt Docker sie als Root und n8n bekommt später keine Schreibrechte.
Synology: Öffne die File Station und navigiere nach /volume1/docker/
Ugreen: Öffne den Dateimanager und navigiere nach /volume1/docker/
Lege dort folgende Ordnerstruktur an:
/volume1/docker/n8n/
├── data/
├── postgres/
└── custom-nodes/
⚠️ Wichtig: Alle drei Unterordner müssen vor dem ersten Start manuell angelegt werden!
Schritt 2: Docker-Verwaltung öffnen
Synology: Öffne den Container Manager. Falls er noch nicht installiert ist, findest du ihn im Paketzentrum – kostenlos, einfach installieren.
Ugreen: Öffne die Docker App – sie ist in UGOS bereits vorinstalliert und direkt über das App-Menü erreichbar, falls nicht Schau im der Paketverwaltung.
Schritt 3: Neues Projekt anlegen
Synology – Container Manager: Klicke in der linken Seitenleiste auf Projekte → oben rechts auf Erstellen.
Ugreen – Docker App: Navigiere in der linken Seitenleiste zu Projekte → klicke auf Erstellen.
Fülle den Dialog bei beiden wie folgt aus:
- Projektname:
n8n - Pfad:
/volume1/docker/n8n/ - Quelle: docker-compose.yml erstellen
Schritt 4: Die Docker Compose einfügen
Kopiere die passende Compose für dein NAS vollständig und füge sie in das Textfeld ein.
Hinweis: Die einzige Zeile die sich zwischen Synology und Ugreen unterscheidet ist
user– also UID und GID des Systembenutzers.
🔵 Synology NAS + Ugreen NAS
services:
postgres:
image: postgres:17
container_name: n8n-postgres
restart: unless-stopped
environment:
POSTGRES_DB: n8n
POSTGRES_USER: n8n
POSTGRES_PASSWORD: W3HQk5lDt0RgtcSkFYYCJ6ut
volumes:
- n8n_postgres_data:/var/lib/postgresql/data
networks:
- n8n-internal
healthcheck:
test: ["CMD-SHELL", "pg_isready -U n8n -d n8n"]
interval: 10s
timeout: 5s
retries: 10
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
ports:
- "5678:5678"
environment:
# Datenbank
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_PORT: 5432
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: W3HQk5lDt0RgtcSkFYYCJ6ut
# Lokaler Zugriff
N8N_HOST: 192.168.178.108
N8N_PORT: 5678
N8N_PROTOCOL: http
WEBHOOK_URL: http://192.168.178.108:5678/
# WICHTIG gegen /.n8n Rechtefehler
N8N_USER_FOLDER: /home/node/.n8n
# Sicherheitsschlüssel
N8N_ENCRYPTION_KEY: CHANGE_ME_64_CHAR_RANDOM_HEX
N8N_USER_MANAGEMENT_JWT_SECRET: CHANGE_ME_LONG_RANDOM_SECRET
# Zeitzone
GENERIC_TIMEZONE: Europe/Berlin
TZ: Europe/Berlin
# Ausführungen aufräumen
EXECUTIONS_MODE: regular
EXECUTIONS_DATA_PRUNE: "true"
EXECUTIONS_DATA_MAX_AGE: 336
EXECUTIONS_DATA_PRUNE_MAX_COUNT: 10000
# Lokal per HTTP
N8N_SECURE_COOKIE: "false"
# Logging
N8N_LOG_LEVEL: warn
volumes:
- n8n_data:/home/node/.n8n
networks:
- n8n-internal
- n8n-external
volumes:
n8n_data:
n8n_postgres_data:
networks:
n8n-internal:
driver: bridge
internal: true
n8n-external:
driver: bridgeHinweis: Ersetze die IP
192.168.178.108durch die lokale IP deines NAS.
- Synology: DSM → Systemsteuerung → Netzwerk
- Ugreen: UGOS → Einstellungen → Netzwerk
🔑 Eigene Sicherheitsschlüssel generieren (empfohlen!)
Die Schlüssel in den Compose-Dateien oben sind bereits gültige Zufallswerte – du kannst sie direkt verwenden. Wenn du lieber eigene Keys generieren möchtest, geht das kinderleicht mit IT-Tools, einem kostenlosen Open-Source-Tool für Entwickler:
👉 it-tools.tech/token-generator
So geht’s:
- Öffne den Token Generator auf it-tools.tech
- Stelle folgende Optionen ein:
- ✅ Uppercase (ABC…)
- ✅ Lowercase (abc…)
- ✅ Numbers (123…)
- ❌ Symbols ausschalten! (n8n verträgt keine Sonderzeichen in den Keys)
- Length: 64
- Klicke auf Refresh – ein neuer Key wird generiert
- Klicke auf Copy und füge den Key bei
N8N_ENCRYPTION_KEYein - Klicke erneut auf Refresh für einen zweiten Key
- Diesen bei
N8N_USER_MANAGEMENT_JWT_SECRETeinfügen
⚠️ Wichtig: Die Keys dürfen nach dem ersten Start niemals mehr geändert werden! n8n verschlüsselt damit alle gespeicherten Credentials. Änderst du den Key nachträglich, sind sämtliche API-Keys und Passwörter in deinen Workflows verloren.
Schritt 5: Deployen
Synology: Klicke unten rechts auf Weiter und dann auf Fertig bzw. Deploy.
Ugreen: Klicke auf Erstellen um den Stack zu starten.
Bei beiden lädt Docker jetzt die Images herunter und startet die Container – zuerst PostgreSQL, dann n8n (dank depends_on und dem Healthcheck). Beim ersten Start kann das 1–2 Minuten dauern.
Schritt 6: n8n aufrufen
Sobald beide Container grün laufen, öffne deinen Browser und rufe auf:
http://192.168.178.108:5678
Beim ersten Aufruf wirst du direkt durch die Einrichtung geführt: Account anlegen, Passwort setzen – und dann kann es losgehen.
Tipp: Später auf eine Domain umziehen
Wenn du n8n über eine Domain erreichbar machen möchtest (z. B. über Nginx Proxy Manager), musst du in der Compose nur vier Zeilen anpassen:
N8N_HOST: n8n.deinedomain.de
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.deinedomain.de/
N8N_SECURE_COOKIE: "true"
Stack dann im Container Manager / der Docker App stoppen und neu starten – fertig.
Fazit
n8n auf dem NAS selbst zu hosten ist einfacher als gedacht – egal ob Synology oder Ugreen. Mit PostgreSQL als Datenbank läuft es stabil auch bei vielen Automationen und großen Datenmengen. Die Docker Compose oben ist produktionsreif: persistente Volumes, isoliertes internes Netzwerk für die Datenbank, automatischer Cleanup alter Ausführungen.
Viel Spaß beim Automatisieren! 🚀
Hallo liebe Freunde des Internets – wenn dir dieser Artikel geholfen hat, schau auch auf meinem YouTube-Kanal vorbei, wo ich solche Setups im Video erkläre. BLOGPOST echo ok











