Warum n8n selbst hosten?
n8n ist die Open-Source-Alternative zu Zapier und Make. Selbst-gehostet bedeutet: Deine Daten bleiben auf deinem Server, du zahlst keine Lizenzgebühren pro Workflow und bist zu 100 % DSGVO-konform.
Seit 2024 hat sich n8n von einem Geheimtipp zu einer echten Plattform entwickelt — mit über 1.000 nativen Integrationen, einem visuellen Workflow-Editor und eingebauten KI-Features. Das Suchvolumen für „n8n" ist 2025 um 900 % gestiegen. Immer mehr Unternehmen erkennen: Self-Hosting ist der sicherste und günstigste Weg.
In diesem Guide zeige ich dir Schritt für Schritt, wie du n8n auf deinem eigenen VPS einrichtest — mit Docker, SSL und automatischen Backups.
Was du brauchst
- VPS-Server in der EU (ab 4 GB RAM empfohlen)
- Domain mit DNS-Zugriff (z. B. n8n.deine-firma.de)
- SSH-Zugang zu deinem Server
- Grundkenntnisse in der Linux-Kommandozeile
Server-Empfehlung
| Anbieter | Standort | RAM | Kosten | DSGVO |
|---|---|---|---|---|
| Hostinger VPS | EU (Litauen) | 4 GB | ab 6 €/Monat | Firmensitz EU |
| Hetzner Cloud | DE (Nürnberg) | 4 GB | ab 7 €/Monat | Firmensitz DE |
| Contabo | DE (Nürnberg) | 4 GB | ab 5 €/Monat | Firmensitz DE |
Finger weg von AWS, Google Cloud oder Azure für reine n8n-Instanzen — zu teuer, zu komplex, und der US-Bezug macht DSGVO-Dokumentation aufwändiger.
Schritt 1: Server vorbereiten
Verbinde dich per SSH mit deinem Server und installiere Docker:
```bash
# System aktualisieren
sudo apt update && sudo apt upgrade -y
# Docker installieren
curl -fsSL https://get.docker.com | sh
# Docker Compose Plugin prüfen
docker compose version
```
Erstelle ein Verzeichnis für n8n:
```bash
mkdir -p /opt/n8n && cd /opt/n8n
```
Schritt 2: Docker Compose einrichten
Erstelle die Datei `docker-compose.yml`:
```yaml
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=n8n.deine-firma.de
- N8N_PORT=5678
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://n8n.deine-firma.de/
- N8N_ENCRYPTION_KEY=dein-geheimer-schluessel
- N8N_USER_MANAGEMENT_DISABLED=false
- N8N_DIAGNOSTICS_ENABLED=false
- N8N_VERSION_NOTIFICATIONS_ENABLED=false
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
```
Wichtig: Ersetze `n8n.deine-firma.de` durch deine echte Domain und generiere einen sicheren `N8N_ENCRYPTION_KEY` (z. B. mit `openssl rand -hex 32`).
Was die Umgebungsvariablen bedeuten
- `N8N_DIAGNOSTICS_ENABLED=false` — Keine Telemetrie-Daten an n8n GmbH senden
- `N8N_VERSION_NOTIFICATIONS_ENABLED=false` — Keine Verbindung zu n8n-Servern für Update-Checks
- `N8N_ENCRYPTION_KEY` — Verschlüsselt gespeicherte Credentials. Nicht verlieren!
Schritt 3: SSL mit Caddy (Reverse Proxy)
Caddy holt sich automatisch ein Let's-Encrypt-Zertifikat. Ergänze deine `docker-compose.yml`:
```yaml
services:
caddy:
image: caddy:2-alpine
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
n8n:
image: n8nio/n8n:latest
restart: always
environment:
- N8N_HOST=n8n.deine-firma.de
- N8N_PORT=5678
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://n8n.deine-firma.de/
- N8N_ENCRYPTION_KEY=dein-geheimer-schluessel
- N8N_DIAGNOSTICS_ENABLED=false
- N8N_VERSION_NOTIFICATIONS_ENABLED=false
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
caddy_data:
caddy_config:
```
Erstelle das `Caddyfile`:
```
n8n.deine-firma.de {
reverse_proxy n8n:5678
}
```
Schritt 4: DNS und Start
- Erstelle einen A-Record bei deinem DNS-Anbieter: `n8n.deine-firma.de` → IP deines Servers
- Starte alles:
```bash
docker compose up -d
```
- Öffne `https://n8n.deine-firma.de` — du siehst die n8n-Registrierungsseite
- Erstelle deinen Admin-Account
Schritt 5: Automatische Backups
Ohne Backup ist dein Self-Hosting ein Risiko. Erstelle ein Backup-Script:
```bash
#!/bin/bash
# /opt/n8n/backup.sh
BACKUP_DIR="/opt/n8n/backups"
TIMESTAMP=$(date +%Y-%m-%d_%H-%M)
mkdir -p "$BACKUP_DIR"
# n8n-Daten sichern
docker compose exec -T n8n n8n export:workflow --all \
--output="$BACKUP_DIR/workflows_$TIMESTAMP.json"
docker compose exec -T n8n n8n export:credentials --all \
--output="$BACKUP_DIR/credentials_$TIMESTAMP.json"
# Volume-Backup
docker run --rm -v n8n_n8n_data:/data -v "$BACKUP_DIR":/backup \
alpine tar czf "/backup/volume_$TIMESTAMP.tar.gz" /data
# Alte Backups loeschen (aelter als 30 Tage)
find "$BACKUP_DIR" -type f -mtime +30 -delete
echo "Backup erstellt: $TIMESTAMP"
```
Mache es ausführbar und richte einen Cronjob ein:
```bash
chmod +x /opt/n8n/backup.sh
crontab -e
# Taeglich um 3 Uhr nachts:
# 0 3 * * * /opt/n8n/backup.sh >> /var/log/n8n-backup.log 2>&1
```
Schritt 6: Sicherheit härten
Firewall (UFW)
```bash
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP (fuer Caddy-Redirect)
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
```
Fail2Ban gegen Brute-Force
```bash
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
```
n8n-Sicherheitseinstellungen
Setze diese Umgebungsvariablen zusätzlich:
```yaml
environment:
- N8N_SECURE_COOKIE=true
- N8N_EDITOR_BASE_URL=https://n8n.deine-firma.de/
```
DSGVO-Checkliste für n8n Self-Hosting
Wenn du n8n selbst hostest, bist du der Verantwortliche nach Art. 4 Nr. 7 DSGVO. Folgende Punkte musst du dokumentieren:
- Server-Standort: EU (idealerweise Deutschland)
- Verschlüsselung: SSL/TLS für alle Verbindungen (erledigt durch Caddy)
- Zugriffskontrolle: Admin-Account mit starkem Passwort
- Backup-Konzept: Tägliche Backups (Schritt 5)
- PII-Filter: Vor jedem KI-API-Call personenbezogene Daten maskieren
- Verarbeitungsverzeichnis: n8n als Verarbeitungstätigkeit dokumentieren
- Kein Telemetrie-Abfluss: `N8N_DIAGNOSTICS_ENABLED=false`
Vorteil gegenüber Zapier/Make: Kein AVV nötig, weil keine Auftragsverarbeitung stattfindet — die Daten bleiben auf deinem Server.
Updates durchführen
```bash
cd /opt/n8n
# Backup vor dem Update
./backup.sh
# Neues Image ziehen und Container neu starten
docker compose pull
docker compose up -d
```
Tipp: Teste Updates zuerst in einer Staging-Umgebung, wenn du komplexe Workflows betreibst.
Häufige Probleme
n8n startet nicht
```bash
docker compose logs n8n
```
Meistens: falscher `N8N_ENCRYPTION_KEY` oder Port-Konflikt.
Webhooks funktionieren nicht
Prüfe, ob `WEBHOOK_URL` korrekt gesetzt ist und die Firewall Port 443 freigibt.
Zu wenig Speicher
Bei vielen parallelen Workflows braucht n8n mehr RAM. Ab 50+ aktiven Workflows empfehlen wir 8 GB RAM.
Wann Self-Hosting nicht reicht
Self-Hosting ist ideal für KMU mit 1–50 Workflows. Wenn du mehr als 100 Workflows betreibst, mehrere Benutzer brauchst oder Enterprise-Features wie SSO willst, ist n8n Cloud eine Alternative — allerdings mit den üblichen DSGVO-Abwägungen.
Fazit
n8n Self-Hosting ist 2026 einfacher denn je. Mit Docker Compose, Caddy und einem EU-VPS hast du in unter einer Stunde eine voll funktionsfähige Automatisierungsplattform — ohne Lizenzkosten, ohne Datentransfer in die USA, ohne Kompromisse bei der DSGVO.
Du willst Workflows selbst erstellen? Der [N8N-Generator](https://n8n-generator.burghart-alexander.com) erstellt n8n-Workflows KI-gestützt — DSGVO-konform und ohne Programmierkenntnisse.
Du willst n8n nutzen, aber das Setup nicht selbst machen? Wir bei FlowBrain richten n8n auf deinem Server ein, bauen deine Workflows und dokumentieren alles DSGVO-konform. Buche ein kostenloses Erstgespräch — wir zeigen dir, was sich in deinem Betrieb automatisieren lässt.