Warum n8n selbst hosten?
n8n ist die Open-Source-Alternative zu Zapier und Make. Selbst gehostet bedeutet: Ihre Workflow-Daten liegen auf Ihrem Server, Sie zahlen keine Lizenzgebühren pro Workflow und behalten die Kontrolle darüber, welche Daten wohin fließen.
Seit 2024 hat sich n8n von einem Geheimtipp zu einer etablierten Plattform entwickelt — mit Hunderten nativen Integrationen, einem visuellen Workflow-Editor und eingebauten KI-Funktionen. Self-Hosting ist für viele Unternehmen ein guter Weg, wenn jemand den Betrieb verlässlich übernimmt.
In diesem Guide zeige ich Ihnen Schritt für Schritt, wie Sie n8n auf Ihrem eigenen VPS einrichten — mit Docker, SSL und automatischen Backups. Was der Betrieb insgesamt kostet, steht im Ratgeber n8n Kosten 2026.
Was Sie brauchen
- VPS-Server in der EU (ab 4 GB RAM empfohlen)
- Domain mit DNS-Zugriff (z. B. n8n.ihre-firma.de)
- SSH-Zugang zu Ihrem Server
- Grundkenntnisse in der Linux-Kommandozeile
Server-Beispiele
| Anbieter | Standort | RAM | Kosten | DSGVO |
|---|---|---|---|---|
| Hostinger VPS | EU (u. a. Frankfurt) | 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 |
Preise laut Anbieter, Stand der Erstveröffentlichung; sie können sich ändern.
Finger weg von AWS, Google Cloud oder Azure für reine n8n-Instanzen — zu teuer, zu komplex, und der US-Bezug macht die DSGVO-Dokumentation aufwändiger.
Schritt 1: Server vorbereiten
Verbinden Sie sich per SSH mit Ihrem Server und installieren Sie 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
```
Erstellen Sie ein Verzeichnis für n8n:
```bash
mkdir -p /opt/n8n && cd /opt/n8n
```
Schritt 2: Docker Compose einrichten
Erstellen Sie die Datei `docker-compose.yml`:
```yaml
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=n8n.ihre-firma.de
- N8N_PORT=5678
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://n8n.ihre-firma.de/
- N8N_ENCRYPTION_KEY=hier-zufaelligen-schluessel-eintragen
- N8N_USER_MANAGEMENT_DISABLED=false
- N8N_DIAGNOSTICS_ENABLED=false
- N8N_VERSION_NOTIFICATIONS_ENABLED=false
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
```
Wichtig: Ersetzen Sie `n8n.ihre-firma.de` durch Ihre echte Domain und erzeugen Sie einen sicheren `N8N_ENCRYPTION_KEY` (z. B. mit `openssl rand -hex 32`).
Was die Umgebungsvariablen bedeuten
- `N8N_DIAGNOSTICS_ENABLED=false` — Keine Telemetrie-Daten an die 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änzen Sie Ihre `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.ihre-firma.de
- N8N_PORT=5678
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://n8n.ihre-firma.de/
- N8N_ENCRYPTION_KEY=hier-zufaelligen-schluessel-eintragen
- N8N_DIAGNOSTICS_ENABLED=false
- N8N_VERSION_NOTIFICATIONS_ENABLED=false
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
caddy_data:
caddy_config:
```
Erstellen Sie das `Caddyfile`:
```
n8n.ihre-firma.de {
reverse_proxy n8n:5678
}
```
Schritt 4: DNS und Start
- Legen Sie bei Ihrem DNS-Anbieter einen A-Record an: `n8n.ihre-firma.de` → IP Ihres Servers
- Starten Sie alles:
```bash
docker compose up -d
```
- Öffnen Sie `https://n8n.ihre-firma.de` — Sie sehen die n8n-Registrierungsseite
- Erstellen Sie Ihren Admin-Account
Schritt 5: Automatische Backups
Ohne Backup ist Self-Hosting ein Risiko. Erstellen Sie 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"
```
Machen Sie das Script ausführbar und richten Sie 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
```
Testen Sie die Wiederherstellung mindestens einmal. Ein Backup, das sich nicht zurückspielen lässt, hilft im Ernstfall nicht.
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
Setzen Sie zusätzlich diese Umgebungsvariablen:
```yaml
environment:
- N8N_SECURE_COOKIE=true
- N8N_EDITOR_BASE_URL=https://n8n.ihre-firma.de/
```
DSGVO-Checkliste für n8n Self-Hosting
Wenn Sie n8n selbst hosten, sind Sie Verantwortlicher nach Art. 4 Nr. 7 DSGVO. Folgende Punkte sollten Sie dokumentieren:
- Server-Standort: EU (idealerweise Deutschland)
- AVV mit dem Hosting-Anbieter: Ihr VPS-Anbieter ist Auftragsverarbeiter
- 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`
Unterschied zu Zapier/Make: Die Workflow-Engine läuft auf Ihrem eigenen Server, es gibt keinen zusätzlichen Automatisierungs-Dienstleister in der Datenkette. Einen AVV brauchen Sie trotzdem: mit Ihrem Hosting-Anbieter und mit jedem externen Dienst, den ein Workflow aufruft (z. B. KI-API oder E-Mail-Versand).
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: Testen Sie Updates zuerst in einer Staging-Umgebung, wenn Sie komplexe Workflows betreiben.
Häufige Probleme
n8n startet nicht
```bash
docker compose logs n8n
```
Meistens: falscher `N8N_ENCRYPTION_KEY` oder Port-Konflikt.
Webhooks funktionieren nicht
Prüfen Sie, 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 passt gut für KMU mit 1–50 Workflows. Wenn Sie mehr als 100 Workflows betreiben, mehrere Benutzer brauchen oder Enterprise-Funktionen wie SSO wünschen, ist n8n Cloud eine Alternative — mit den üblichen DSGVO-Abwägungen.
Fazit
n8n Self-Hosting ist 2026 so einfach wie nie. Mit Docker Compose, Caddy und einem EU-VPS haben Sie in etwa einer Stunde eine funktionsfähige Automatisierungsplattform — ohne Lizenzkosten und ohne dass die Workflow-Engine selbst Daten in die USA überträgt. Welche Daten Ihre Workflows an externe Dienste schicken, legen Sie im Workflow fest.
Sie möchten Workflows selbst erstellen? Der N8N-Generator erstellt n8n-Workflows mit KI-Unterstützung, ohne Programmierkenntnisse.
Sie möchten n8n nutzen, aber das Setup nicht selbst machen? Wir bei FlowBrain richten n8n auf einem Server in der EU ein, bauen Ihre Workflows und dokumentieren die Datenwege. Mehr dazu unter Prozessautomatisierung mit n8n. Buchen Sie ein kostenloses Erstgespräch — wir zeigen Ihnen, was sich in Ihrem Betrieb automatisieren lässt.