n8n mit Docker installieren: Vollständige VPS-Einrichtungsanleitung
Schritt-für-Schritt-Anleitung zum Selbsthosting von n8n auf einem VPS mit Docker. Inklusive SSL-Einrichtung, PostgreSQL-Datenbank, automatischen Backups und produktionsreifer Konfiguration.
n8n mit Docker installieren: Vollständige VPS-Einrichtungsanleitung
Schritt-für-Schritt-Anleitung zum Selbsthosting von n8n auf einem VPS mit Docker. Für VPS-Empfehlungen siehe unseren Leitfaden Bester VPS für n8n. Dieses produktionsreife Setup umfasst SSL-Zertifikate, PostgreSQL-Datenbank, Nginx-Reverse-Proxy und automatische Backups.
Was Sie einrichten werden
- ✅ n8n läuft in Docker
- ✅ PostgreSQL-Datenbank (produktionsreif)
- ✅ Nginx-Reverse-Proxy
- ✅ SSL mit Let’s Encrypt
- ✅ Automatische Backups
- ✅ Automatischer Neustart bei Reboot
Benötigte Zeit: 15-20 Minuten
Voraussetzungen
- Ein VPS mit mindestens 2 GB RAM (wir empfehlen Hostinger KVM 1)
- Ein Domainname, der auf Ihren Server zeigt
- Grundlegende Terminalkenntnisse
Schritt 1: Ersteinrichtung des Servers
Verbinden Sie sich per SSH mit Ihrem VPS:
ssh root@your-server-ip
Aktualisieren Sie das System:
apt update && apt upgrade -y
Schritt 2: Docker installieren
# Install Docker
curl -fsSL https://get.docker.com | sh
# Install Docker Compose
apt install docker-compose-plugin -y
# Verify installation
docker --version
docker compose version
Schritt 3: Projektstruktur erstellen
mkdir -p /opt/n8n
cd /opt/n8n
Erstellen Sie die Docker-Compose-Datei:
nano docker-compose.yml
Fügen Sie Folgendes ein:
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=n8n.yourdomain.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://n8n.yourdomain.com/
- GENERIC_TIMEZONE=Europe/London
# Database
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=your-secure-password
# Encryption
- N8N_ENCRYPTION_KEY=your-32-char-encryption-key
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
networks:
- n8n-network
postgres:
image: postgres:15
restart: always
environment:
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=your-secure-password
- POSTGRES_DB=n8n
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- n8n-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U n8n"]
interval: 5s
timeout: 5s
retries: 5
volumes:
n8n_data:
postgres_data:
networks:
n8n-network:
Wichtig: Ersetzen Sie:
n8n.yourdomain.comdurch Ihre tatsächliche Domainyour-secure-passworddurch ein sicheres Passwortyour-32-char-encryption-keydurch eine zufällige Zeichenkette mit mindestens 32 Zeichen
Generieren Sie einen Verschlüsselungsschlüssel:
openssl rand -hex 16
Schritt 4: Nginx installieren
apt install nginx -y
Erstellen Sie die Nginx-Konfiguration:
nano /etc/nginx/sites-available/n8n
Fügen Sie Folgendes ein:
server {
listen 80;
server_name n8n.yourdomain.com;
location / {
proxy_pass http://localhost:5678;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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_read_timeout 86400;
proxy_buffering off;
}
}
Aktivieren Sie die Seite:
ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
Schritt 5: SSL mit Let’s Encrypt einrichten
# Install Certbot
apt install certbot python3-certbot-nginx -y
# Get SSL certificate
certbot --nginx -d n8n.yourdomain.com
Folgen Sie den Anweisungen. Certbot konfiguriert Nginx automatisch für HTTPS.
Schritt 6: n8n starten
cd /opt/n8n
docker compose up -d
Prüfen Sie, ob es läuft:
docker compose ps
docker compose logs -f n8n
Greifen Sie auf n8n zu unter: https://n8n.yourdomain.com
Schritt 7: Firewall konfigurieren
Folgen Sie unserem VPS-Sicherheitsleitfaden für eine vollständige Härtungs-Checkliste. Mindestens:
ufw allow ssh
ufw allow 'Nginx Full'
ufw enable
Schritt 8: Automatische Backups einrichten
Erstellen Sie ein Backup-Skript:
nano /opt/n8n/backup.sh
Fügen Sie Folgendes ein:
#!/bin/bash
BACKUP_DIR="/opt/n8n/backups"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
# Backup PostgreSQL
docker compose exec -T postgres pg_dump -U n8n n8n > $BACKUP_DIR/db_$DATE.sql
# Backup n8n data
docker compose exec -T n8n n8n export:workflow --all --output=/home/node/.n8n/backups/workflows_$DATE.json 2>/dev/null || true
# Keep only last 7 days
find $BACKUP_DIR -type f -mtime +7 -delete
echo "Backup completed: $DATE"
Machen Sie es ausführbar und planen Sie es ein:
chmod +x /opt/n8n/backup.sh
# Add to crontab (daily at 3 AM)
crontab -e
Fügen Sie hinzu:
0 3 * * * /opt/n8n/backup.sh >> /var/log/n8n-backup.log 2>&1
Schritt 9: Autostart beim Booten aktivieren
Docker-Container mit restart: always starten automatisch. Überprüfen Sie, ob Docker aktiviert ist:
systemctl enable docker
n8n aktualisieren
So aktualisieren Sie auf die neueste Version:
cd /opt/n8n
docker compose pull
docker compose up -d
Fehlerbehebung
n8n startet nicht
docker compose logs n8n
Prüfen Sie auf Datenbankverbindungsfehler oder fehlende Umgebungsvariablen.
Probleme mit dem SSL-Zertifikat
certbot renew --dry-run
Datenbankverbindung fehlgeschlagen
Stellen Sie sicher, dass PostgreSQL funktionsfähig ist:
docker compose exec postgres pg_isready -U n8n
Speicher nicht ausreichend
Upgraden Sie Ihren VPS oder optimieren Sie n8n:
# In docker-compose.yml, add under n8n service:
deploy:
resources:
limits:
memory: 2G
Leistungsoptimierung
1. Ausführungsbereinigung
Löschen Sie alte Ausführungen automatisch, um Speicherplatz zu sparen. In den n8n-Einstellungen:
- Einstellungen → Workflow-Einstellungen → Daten bei fehlerhafter Ausführung speichern: letzte 30 Tage
- Daten bei erfolgreicher Ausführung speichern: letzte 7 Tage
2. Worker erhöhen
Für hohe Arbeitslasten:
environment:
- EXECUTIONS_MODE=queue
- EXECUTIONS_PROCESS=own
3. Redis für den Warteschlangenmodus verwenden
Fügen Sie einen Redis-Dienst für Workflows mit hohem Volumen hinzu:
redis:
image: redis:alpine
restart: always
networks:
- n8n-network
Empfohlene VPS-Spezifikationen
| Arbeitslast | RAM | CPU | VPS |
|---|---|---|---|
| Leicht | 2GB | 1 vCPU | Hostinger KVM 1 |
| Mittel | 4GB | 2 vCPU | Hostinger KVM 2 |
| Schwer | 8GB | 4 vCPU | Contabo VPS S |
Fazit
Sie haben jetzt eine produktionsreife n8n-Installation mit:
✅ PostgreSQL-Datenbank für Zuverlässigkeit ✅ Nginx-Reverse-Proxy für Leistung ✅ SSL-Verschlüsselung für Sicherheit ✅ Automatische Backups für Ihre Beruhigung ✅ Automatischer Neustart für 24/7-Verfügbarkeit
Ihr selbst gehostetes n8n ist bereit für unbegrenzte Automatisierungen! Sie fragen sich, wie n8n im Vergleich zu kostenpflichtigen Alternativen abschneidet? Lesen Sie unseren n8n vs Zapier Vergleich.
Ready to get started?
Get the best VPS hosting deal today. Hostinger offers 4GB RAM VPS starting at just $4.99/mo.
Get Hostinger VPS — $4.99/mo// up to 75% off + free domain included
// related topics
// related guides
$1 VPS Hosting 2026: Cheapest VPS Servers Starting at $1/Month
Looking for $1 VPS hosting? Compare the cheapest VPS providers starting from $1-3/month. Real specs, no hidden fees, honest reviews of budget VPS options.
tutorialCaddy Reverse Proxy Guide 2026: Automatic HTTPS Made Easy
Set up Caddy as a reverse proxy with automatic HTTPS, zero-config SSL, and simple Caddyfile syntax. Complete VPS deployment guide.
tutorialCloudflare Tunnel VPS Guide 2026: Expose Services Without Opening Ports
Set up Cloudflare Tunnel on your VPS to expose web apps securely without opening ports or revealing your server IP. Complete guide with Docker and DNS config.
tutorialCoolify VPS Setup Guide 2026: Self-Hosted Vercel Alternative
Deploy Coolify on your VPS for a self-hosted Vercel/Netlify experience. Complete setup guide with Docker, SSL, and app deployments.
Andrius Putna
I am Andrius Putna. Geek. Since early 2000 in love tinkering with web technologies. Now AI. Bridging business and technology to drive meaningful impact. Combining expertise in customer experience, technology, and business strategy to deliver valuable insights. Father, open-source contributor, investor, 2xIronman, MBA graduate.
// last updated: February 3, 2026. Disclosure: This article may contain affiliate links.