n8n Installation: Self-Hosted Workflow-Automatisierung
n8n Docker-Installation, Webhook-Integrationen, Workflow-Erstellung, 400+ App-Verbindungen, geplante Aufgaben, Credentials-Verwaltung und Production-Deployment.
Inhaltsverzeichnis
n8n Installation: Self-Hosted Workflow-Automatisierung
n8n ist eine Open-Source-Workflow-Automatisierungsplattform mit visueller Oberfläche, die 400+ Anwendungen und Dienste verbinden kann. Sie können es als self-hosted Alternative zu Diensten wie Zapier und Make (Integromat) auf Ihrem eigenen Server betreiben. Sie können komplexe Automatisierungen ohne Code erstellen oder benutzerdefinierte Logik mit JavaScript/Python hinzufügen.
Was ist n8n?
n8n (Kurzform für "nodemation") ermöglicht die Erstellung von Workflows mit knotenbasierter visueller Programmierung. Hauptmerkmale:
- 400+ Integrationen: Slack, GitHub, Google Sheets, Notion, Airtable und mehr
- Webhook-Unterstützung: HTTP-Anfragen als Trigger verwenden
- Geplante Aufgaben: Cron-basierte Planung
- Code-Unterstützung: JavaScript- und Python-Knoten
- Fehlerbehandlung: Retry-Mechanismus und Fehlerflüsse
- Verschlüsselte Credentials: API-Schlüssel sicher gespeichert
Systemanforderungen
- Server mit Docker und Docker Compose
- Mindestens 1 GB RAM (2 GB empfohlen)
- PostgreSQL (für Production empfohlen) oder SQLite
Grundlegende Docker-Installation
Schnellstart mit SQLite
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: unless-stopped
environment:
- N8N_HOST=n8n.example.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://n8n.example.com/
- GENERIC_TIMEZONE=Europe/Berlin
- N8N_ENCRYPTION_KEY=starker-verschluesselungsschluessel
volumes:
- ./n8n-data:/home/node/.n8n
ports:
- "127.0.0.1:5678:5678"
# Container starten
docker compose up -d
# Logs prüfen
docker logs n8n -f
N8N_ENCRYPTION_KEY wird zur Verschlüsselung von Credentials verwendet. Wenn Sie diesen Wert verlieren, werden alle Ihre Credentials unzugänglich. Bewahren Sie ihn an einem sicheren Ort auf.
Production-Setup mit PostgreSQL
version: '3.8'
services:
postgres:
image: postgres:15
container_name: n8n-postgres
restart: unless-stopped
environment:
POSTGRES_DB: n8n
POSTGRES_USER: n8n
POSTGRES_PASSWORD: starkes-passwort
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U n8n"]
interval: 5s
timeout: 5s
retries: 10
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=starkes-passwort
- N8N_HOST=n8n.example.com
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://n8n.example.com/
- GENERIC_TIMEZONE=Europe/Berlin
- N8N_ENCRYPTION_KEY=starker-verschluesselungsschluessel
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=admin-passwort
volumes:
- ./n8n-data:/home/node/.n8n
ports:
- "127.0.0.1:5678:5678"
volumes:
postgres-data:
Nginx Reverse Proxy
server {
listen 80;
server_name n8n.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name n8n.example.com;
ssl_certificate /etc/letsencrypt/live/n8n.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/n8n.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:5678;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 3600;
}
}
Grundlegende Workflows erstellen
Erster Workflow: Webhook → Slack-Benachrichtigung
- Auf New Workflow klicken
- Knoten mit + hinzufügen → Webhook auswählen
- HTTP Method: POST
- Path:
/slack-notify
- Neuen Knoten mit + → Slack auswählen
- Operation: Send Message
- Channel: #allgemein
- Message:
{{ $json.message }}
- Speichern und Aktivieren
# Webhook testen
curl -X POST https://n8n.example.com/webhook/slack-notify \
-H "Content-Type: application/json" \
-d '{"message": "Hallo n8n!"}'
Trigger-Typen
Cron (Zeitplan) Trigger
# Cron-Ausdrücke
0 9 * * 1-5 # Werktags um 09:00
*/15 * * * * # Alle 15 Minuten
0 0 * * * # Jeden Mitternacht
0 8 * * 1 # Jeden Montag um 08:00
Credentials-Verwaltung
Einstellungen → Credentials → Credential hinzufügen
Beispiel: GitHub API
- Credential-Typ: GitHub API
- Access Token: ghp_xxxxxxxxxxxx
- Verbindung testen
Beliebte Workflow-Beispiele
GitHub → Slack-Benachrichtigung
GitHub Trigger (Push-Event)
→ IF (branch == 'main')
→ Slack ("Neues Deployment: {{ $json.commits[0].message }}")
→ E-Mail (Team benachrichtigen)
Täglicher Bericht
Cron Trigger (jeden Morgen um 09:00)
→ PostgreSQL (gestrige Verkäufe abrufen)
→ Code (Daten formatieren)
→ Google Sheets (zum Bericht hinzufügen)
→ Slack (Zusammenfassung senden)
Queue-Modus (Hohe Last)
environment:
- EXECUTIONS_MODE=queue
- QUEUE_BULL_REDIS_HOST=redis
- QUEUE_BULL_REDIS_PORT=6379
redis:
image: redis:7-alpine
container_name: n8n-redis
restart: unless-stopped
Backup
# n8n-Daten sichern
tar -czf n8n-backup-$(date +%Y%m%d).tar.gz ./n8n-data/
# PostgreSQL-Backup
docker exec n8n-postgres pg_dump -U n8n n8n > n8n-db-$(date +%Y%m%d).sql
Mit n8n auf REXE VPS-Servern können Sie alle Ihre Geschäftsprozesse automatisieren. Mit 2 GB RAM können Sie Hunderte von Workflows ausführen.
Verwandte Artikel
Coolify Installation: Anwendungs-Deployment mit Self-Hosted PaaS
Coolify-Installation, Docker- und Git-Integration, Anwendungs-Deployment, Datenbankverwaltung, SSL-Zertifikate, Umgebungsvariablen und Self-Hosted PaaS als Alternative zu Heroku/Netlify.
Nextcloud Installation: Self-Hosted Cloud-Speicher und Zusammenarbeit
Nextcloud-Installation mit Docker, Apache/Nginx-Konfiguration, Datenbankeinrichtung, SSL-Zertifikat, Dateisynchronisierung, App-Store und Leistungsoptimierung.
Docker-Verwaltung mit Portainer: Webbasierte Container-Kontrolle
Portainer CE Installation, Docker- und Kubernetes-Verwaltung, Stack-Deployment, Volume/Netzwerk-Verwaltung, Benutzerautorisierung, Webhook und GitOps-Integration.