n8n mit Docker installieren: Vollständige VPS-Einrichtungsanleitung
TUTORIAL 15 min read fordnox

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

Benötigte Zeit: 15-20 Minuten

Voraussetzungen

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:

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:

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

ArbeitslastRAMCPUVPS
Leicht2GB1 vCPUHostinger KVM 1
Mittel4GB2 vCPUHostinger KVM 2
Schwer8GB4 vCPUContabo 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.

~/n8n-docker-setup/get-started

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

n8n Docker Einrichtung n8n selbst hosten n8n VPS Installation n8n SSL Einrichtung n8n PostgreSQL

// related guides

Andrius Putna

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.