n8n ist die Open-Source-Alternative zu Zapier und Make.com – mit einem entscheidenden Vorteil: Sie können die Software auf Ihrem eigenen Server betreiben. Für deutsche Unternehmen bedeutet das volle DSGVO-Kontrolle, keine Daten bei US-Anbietern, und langfristig niedrigere Kosten.
In dieser Anleitung zeige ich Ihnen, wie Sie n8n mit Docker auf einem eigenen VPS installieren.
Warum n8n selbst hosten?
Vorteile gegenüber Cloud-Lösungen
| Aspekt | Self-Hosted | Cloud (Zapier/Make) |
|---|---|---|
| Datenkontrolle | ✅ 100% bei Ihnen | ❌ US-Server |
| DSGVO | ✅ Volle Kontrolle | ⚠️ AVV erforderlich |
| Kosten | ✅ ~5-20€/Monat (VPS) | ❌ 20-100€+/Monat |
| Workflows | ✅ Unbegrenzt | ❌ Plan-abhängig |
| Executions | ✅ Unbegrenzt | ❌ Plan-abhängig |
| Customizing | ✅ Voller Zugriff | ❌ Eingeschränkt |
Wann ist Self-Hosting sinnvoll?
Empfohlen bei:
- Verarbeitung personenbezogener Daten
- Hohem Workflow-Volumen (>1.000 Executions/Monat)
- Sensiblen Geschäftsdaten
- Langfristiger Kostenoptimierung
Nicht empfohlen bei:
- Keine technischen Grundkenntnisse
- Sehr kleinem Volumen (<100 Executions/Monat)
- Fehlenden Ressourcen für Wartung
Voraussetzungen
Bevor wir starten, benötigen Sie:
1. Einen VPS (Virtual Private Server)
Empfohlene deutsche Anbieter:
| Anbieter | Minimum-Config | Preis/Monat |
|---|---|---|
| Hetzner | CX21 (2 vCPU, 4GB RAM) | ~5€ |
| netcup | VPS 1000 G10 | ~8€ |
| IONOS | VPS M | ~6€ |
Mindestanforderungen:
- 2 vCPU
- 4 GB RAM
- 40 GB SSD
- Ubuntu 22.04 oder Debian 12
2. Eine Domain (optional, aber empfohlen)
Für HTTPS-Zugang benötigen Sie eine Domain, z.B. n8n.ihre-firma.de
3. Grundlegende Terminal-Kenntnisse
Sie sollten wissen, wie man:
- Per SSH auf einen Server verbindet
- Grundlegende Linux-Befehle ausführt
Schritt 1: Server vorbereiten
Verbinden Sie sich per SSH mit Ihrem Server:
ssh root@ihre-server-ip
System aktualisieren
apt update && apt upgrade -y
Docker installieren
# Docker-Repository hinzufügen
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
# Docker Compose installieren
apt install docker-compose-plugin -y
# Docker-Dienst starten
systemctl enable docker
systemctl start docker
Installation prüfen
docker --version
docker compose version
Die Ausgabe sollte die Docker-Version (z.B. 24.x oder höher) anzeigen.
Schritt 2: n8n-Verzeichnis erstellen
# Verzeichnis anlegen
mkdir -p /opt/n8n
cd /opt/n8n
# Unterverzeichnisse für Daten
mkdir -p data
Schritt 3: Docker Compose Konfiguration
Erstellen Sie die Docker Compose Datei:
nano docker-compose.yml
Fügen Sie folgende Konfiguration ein:
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=n8n.ihre-domain.de
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://n8n.ihre-domain.de/
- GENERIC_TIMEZONE=Europe/Berlin
- TZ=Europe/Berlin
# Sicherheit
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=IhrSicheresPasswort123!
volumes:
- ./data:/home/node/.n8n
networks:
- n8n-network
networks:
n8n-network:
driver: bridge
Wichtig: Ersetzen Sie:
n8n.ihre-domain.demit Ihrer tatsächlichen DomainIhrSicheresPasswort123!mit einem sicheren Passwort
Speichern Sie mit Ctrl+X, dann Y, dann Enter.
Schritt 4: Reverse Proxy mit Caddy (HTTPS)
Für automatisches HTTPS verwenden wir Caddy als Reverse Proxy.
Caddy installieren
apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install caddy -y
Caddyfile konfigurieren
nano /etc/caddy/Caddyfile
Inhalt:
n8n.ihre-domain.de {
reverse_proxy localhost:5678
}
Caddy neu starten
systemctl restart caddy
Schritt 5: DNS konfigurieren
Bei Ihrem Domain-Anbieter erstellen Sie einen A-Record:
| Typ | Name | Wert |
|---|---|---|
| A | n8n | Ihre-Server-IP |
Beispiel: n8n.ihre-domain.de → 123.45.67.89
Die DNS-Propagation kann bis zu 24 Stunden dauern, meist ist es jedoch innerhalb von Minuten aktiv.
Schritt 6: n8n starten
cd /opt/n8n
docker compose up -d
Status prüfen
docker compose ps
docker compose logs -f
Sie sollten sehen, dass der Container „running“ ist.
Schritt 7: Erster Login
Öffnen Sie im Browser: https://n8n.ihre-domain.de
Melden Sie sich mit den in der docker-compose.yml festgelegten Zugangsdaten an:
- Benutzer:
admin - Passwort: Das von Ihnen gewählte Passwort
Owner-Account erstellen
Beim ersten Login werden Sie aufgefordert, einen Owner-Account zu erstellen:
- E-Mail-Adresse eingeben
- Passwort festlegen
- Optional: n8n-Newsletter abonnieren
Fertig! Ihre selbst gehostete n8n-Instanz ist einsatzbereit.
Wichtige Nacharbeiten
Firewall konfigurieren
# UFW installieren (falls nicht vorhanden)
apt install ufw -y
# Regeln setzen
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 80
ufw allow 443
# Firewall aktivieren
ufw enable
Automatische Updates
Erstellen Sie ein Update-Script:
nano /opt/n8n/update.sh
Inhalt:
#!/bin/bash
cd /opt/n8n
docker compose pull
docker compose up -d
docker image prune -f
Ausführbar machen:
chmod +x /opt/n8n/update.sh
Backup einrichten
Die n8n-Daten liegen in /opt/n8n/data. Sichern Sie dieses Verzeichnis regelmäßig:
# Manuelles Backup
tar -czvf n8n-backup-$(date +%Y%m%d).tar.gz /opt/n8n/data
Für automatische Backups empfehle ich einen Cronjob oder einen Backup-Dienst wie Restic.
DSGVO-Dokumentation
Bei Self-Hosting sind Sie der Verantwortliche. Dokumentieren Sie:
Technische Maßnahmen
- Verschlüsselung: HTTPS via Caddy (Let’s Encrypt)
- Zugriffskontrolle: Basic Auth + Owner-Account
- Firewall: UFW mit Whitelist
- Standort: Deutsches Rechenzentrum (z.B. Hetzner Falkenstein/Nürnberg)
Verarbeitungsverzeichnis
Tragen Sie n8n in Ihr Verarbeitungsverzeichnis ein:
- Zweck: Workflow-Automatisierung
- Kategorien: Je nach Nutzung (Kundendaten, Bestelldaten, etc.)
- Speicherort: Eigene Infrastruktur, DE
- Löschfristen: Nach Ihren Vorgaben konfigurierbar
Häufige Probleme
n8n startet nicht
Prüfen Sie die Logs:
docker compose logs n8n
Häufige Ursachen:
- Port 5678 bereits belegt
- Fehlerhafte Umgebungsvariablen
- Berechtigungsprobleme im data-Verzeichnis
HTTPS funktioniert nicht
Prüfen Sie:
- DNS korrekt konfiguriert? (
dig n8n.ihre-domain.de) - Ports 80 und 443 offen?
- Caddy läuft? (
systemctl status caddy)
Webhooks kommen nicht an
Prüfen Sie:
- WEBHOOK_URL in docker-compose.yml korrekt?
- Firewall erlaubt eingehende Verbindungen?
- Externe Dienste können Ihre URL erreichen?
Kosten im Vergleich
Self-Hosted (Hetzner CX21)
| Posten | Monatlich |
|---|---|
| VPS | 4,85 € |
| Domain | ~1 € |
| Gesamt | ~6 € |
Dafür: Unbegrenzte Workflows, unbegrenzte Executions.
n8n Cloud
| Plan | Monatlich | Executions |
|---|---|---|
| Starter | 20 € | 2.500 |
| Pro | 50 € | 10.000 |
Make.com (zum Vergleich)
| Plan | Monatlich | Operations |
|---|---|---|
| Core | 9 € | 10.000 |
| Pro | 16 € | 10.000 |
Fazit: Ab ~5.000 Executions/Monat rechnet sich Self-Hosting schnell.
Nächste Schritte
Nachdem n8n läuft:
- Erste Workflows erstellen – Starten Sie mit einfachen Automatisierungen
- Credentials sicher speichern – n8n verschlüsselt diese automatisch
- Community-Nodes erkunden – Über 400+ Integrationen verfügbar
- Monitoring einrichten – Uptime-Überwachung für produktive Systeme
Fazit
n8n selbst zu hosten ist mit Docker überraschend einfach. In etwa 30 Minuten haben Sie eine vollständig funktionsfähige Automatisierungsplattform – mit voller Datenkontrolle und zu einem Bruchteil der Cloud-Kosten.
Die wichtigsten Vorteile:
- 100% Datenkontrolle – alle Daten auf Ihrem Server
- DSGVO-konform – deutsches Rechenzentrum, keine US-Transfers
- Unbegrenzte Workflows und Executions
- Langfristig günstiger als Cloud-Alternativen
Für Unternehmen, die Wert auf Datenschutz legen und regelmäßig automatisieren, ist Self-Hosting die beste Wahl.
Weiterführende Artikel: