n8n auf einem VPS für unter 10 $ im Monat selbst hosten
· Von AI Compare
Ein produktionsreifes n8n-Setup mit HTTPS und Postgres zum Preis eines kleinen Servers.
Was Sie bekommen
Eine produktionsreife n8n-Instanz mit HTTPS, einer echten Datenbank und automatischen Neustarts auf einem kleinen virtuellen privaten Server (VPS). Softwarekosten: 0 $. Serverkosten: typischerweise 5–10 $ im Monat.
Kostenaufstellung
| Posten | Typische monatliche Kosten | Hinweise |
|---|---|---|
| VPS (1–2 vCPU, 2–4 GB RAM) | 5–10 $ | 1 GB reicht für leichte Nutzung; ab 2 GB ist es komfortabler |
| Domainname | ~1 $ (etwa 10–15 $/Jahr) | Optional, aber nötig für saubere HTTPS-Webhooks |
| Backups / Snapshots | 1–2 $ | Die meisten Anbieter berechnen ~20 % des Serverpreises |
| n8n Community Edition | 0 $ | Unbegrenzte Workflows und Ausführungen |
| Gesamt | Etwa 7–13 $ |
Die VPS-Preise schwanken 2026 stark. Das 1-GB-Droplet von DigitalOcean kostet 6 $ im Monat; die günstigsten Cost-Optimized-Tarife von Hetzner waren dieses Jahr zeitweise nicht verfügbar. Vergleichen Sie die aktuellen Preise, bevor Sie einen Anbieter wählen.
Zum Vergleich: n8n Cloud Starter kostet 20 € im Monat für 2.500 Ausführungen. Wenn Sie mehr als ein paar tausend Ausführungen im Monat haben, rechnet sich Self-Hosting sofort.
Was Sie brauchen
- Einen VPS mit Ubuntu 22.04 oder 24.04.
- Eine Domain oder Subdomain, zum Beispiel
n8n.yourcompany.com, die per A-Record auf die IP des Servers zeigt. - Grundkenntnisse mit SSH und der Kommandozeile.
Schritt 1: Den Server absichern
ssh root@YOUR_SERVER_IP
apt update && apt upgrade -y
adduser n8nadmin && usermod -aG sudo n8nadmin
ufw allow OpenSSH && ufw allow 80 && ufw allow 443 && ufw enable
Nutzen Sie SSH-Schlüssel und deaktivieren Sie die Passwortanmeldung, sobald Sie bestätigt haben, dass der Zugang per Schlüssel funktioniert.
Schritt 2: Docker installieren
curl -fsSL https://get.docker.com | sh
usermod -aG docker n8nadmin
Melden Sie sich ab und als n8nadmin wieder an.
Schritt 3: Die Docker-Compose-Datei anlegen
Legen Sie einen Ordner und eine docker-compose.yml an:
services:
caddy:
image: caddy:2
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
postgres:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: change-this-password
POSTGRES_DB: n8n
volumes:
- db_data:/var/lib/postgresql/data
n8n:
image: docker.n8n.io/n8nio/n8n
restart: unless-stopped
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: change-this-password
N8N_HOST: n8n.yourcompany.com
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.yourcompany.com/
GENERIC_TIMEZONE: Europe/Budapest
N8N_ENCRYPTION_KEY: generate-a-long-random-string
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
volumes:
caddy_data:
db_data:
n8n_data:
Und daneben ein Caddyfile:
n8n.yourcompany.com {
reverse_proxy n8n:5678
}
Caddy holt und erneuert automatisch ein kostenloses HTTPS-Zertifikat.
Schritt 4: Starten
docker compose up -d
Öffnen Sie https://n8n.yourcompany.com und legen Sie das Owner-Konto an.
Schritt 5: Richtig sichern
- Bewahren Sie
N8N_ENCRYPTION_KEYan einem sicheren Ort auf. Ohne ihn lassen sich Ihre gespeicherten Credentials nicht entschlüsseln. - Aktivieren Sie die wöchentlichen Snapshots Ihres Anbieters.
- Sichern Sie die Datenbank regelmäßig:
docker compose exec postgres pg_dump -U n8n n8n > backup.sql. - Exportieren Sie Workflows als JSON oder verbinden Sie Git (kostenpflichtige Funktion) für eine Versionshistorie.
Schritt 6: Sicher aktualisieren
docker compose pull
docker compose up -d
Erstellen Sie vor größeren Versionssprüngen einen Snapshot und lesen Sie die Release Notes.
Wie groß muss der Server sein?
| Last | Empfohlene Größe |
|---|---|
| Wenige Workflows, leichte Zeitpläne | 1 vCPU, 1–2 GB RAM |
| Dutzende Workflows, Webhooks, mittleres Volumen | 2 vCPU, 4 GB RAM |
| Hohes Volumen oder große Dateien und KI-Workflows | 4 vCPU, 8 GB RAM, Queue Mode mit Redis erwägen |

