n8n ist eines dieser Werkzeuge, bei denen Selbst-Hosten die Ökonomie völlig umdreht. Auf den Cloud-Plänen zahlst du pro Ausführung, also, je nützlicher deine Automatisierung wird, desto mehr kostet sie. Auf deinem eigenen Server kostet ein Workflow, der zehntausendmal im Monat feuert, genau dasselbe wie einer, der zehnmal feuert: den Preis der Maschine.
Wenn deine Workflows irgendetwas Sensibles berühren — Kundendaten, API-Schlüssel, interne Systeme — ist der zweite Grund stärker als der erste. Selbst gehostet bedeutet, die Daten verlassen nie eine Maschine, die du kontrollierst.
Was n8n braucht
Mehr als ein Telegram-Bot, weniger, als du befürchten würdest:
- RAM ist die Einschränkung. n8n plus Postgres will Luft zum Atmen. Small (8 $/Mon. — 4 vCPU, 4 GB RAM) ist der bequeme Standard. Micro (5 $) funktioniert für leichte persönliche Nutzung auf SQLite.
- Eine öffentliche IP, eine Domain und TLS. Webhooks sind die Hälfte dessen, was n8n betriebswert macht, und sie brauchen eingehendes HTTPS. Das bedeutet einen Plan mit dedizierter IP — unsere NAT-Pläne nehmen keinen eingehenden Web-Traffic.
- Festplatte für den Ausführungsverlauf. n8n speichert jeden Lauf. NVMe hält das flott; 35 GB reichen weit, wenn du alte Ausführungen prunest.
Docker-Compose-Setup
# Ubuntu 24.04, Plan mit dedizierter IP
apt update && apt install -y docker.io docker-compose-v2
systemctl enable --now docker
mkdir -p /opt/n8n && cd /opt/n8n
cat > docker-compose.yml <<'EOF'
services:
postgres:
image: postgres:16
restart: always
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: change_me
POSTGRES_DB: n8n
volumes: [ ./pgdata:/var/lib/postgresql/data ]
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports: [ "5678:5678" ]
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: change_me
N8N_HOST: n8n.yourdomain.com
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.yourdomain.com/
N8N_ENCRYPTION_KEY: generate_a_long_random_string
volumes: [ ./n8n-data:/home/node/.n8n ]
depends_on: [ postgres ]
EOF
docker compose up -d
Dann setze Caddy oder nginx davor für HTTPS — Caddy holt von selbst ein Let's-Encrypt-Zertifikat, sobald der A-Record deiner Domain auf die IP des Servers zeigt.
Zwei Dinge, deren Überspringen Leute bereuen: setze N8N_ENCRYPTION_KEY auf etwas Langes und sichere es (verlier es und deine gespeicherten Zugangsdaten sind nicht wiederherstellbar), und schalte Basic Auth oder n8ns Benutzerverwaltung ein, bevor die Instanz aus dem Internet erreichbar ist.
Warum es hier hosten
Kein KYC, Krypto-Zahlung. E-Mail zum Registrieren, USDC oder USDT auf Base, Ethereum oder Polygon. Wenn deine Automatisierungen für ein Nebenprojekt, einen Kunden oder etwas sind, das du lieber nicht an eine Firmenidentität binden würdest, gibt es keinen Papierkram-Schritt. Neu bei Krypto?
Flach, günstig, ungemessen. 8 $/Monat, ungemessener Traffic bei 1 Gbit/s. Ein Workflow, der den ganzen Tag eine API hämmert, ändert die Rechnung nicht.
Einen Plan wählen
| Nutzung | Plan | Preis |
|---|---|---|
| Persönlich, leichte Workflows, SQLite | Micro-IP | 10 $/Mon. |
| Das normale Setup: n8n + Postgres + Webhooks | Small-IP | 16 $/Mon. |
| Schwere Workflows, viel Verlauf, extra Container | Medium-IP | 20 $/Mon. |
Pläne mit dedizierter IP sind die, die man sich hier ansieht — du brauchst eingehendes HTTPS. Volles root, NVMe, ungemessener Traffic, Deutschland oder Finnland. Jährliche Abrechnung ist ein Krypto-Transfer statt zwölf.
Verwandte Lektüre
- n8n auf einem VPS selbst hosten — die Langform-Anleitung
- Einen neuen VPS absichern: eine Checkliste — bevor du etwas ins Internet offenlegst
Bereit? Stelle einen n8n-Server bereit → — live in etwa einer Minute, in Krypto bezahlt, kein Ausweis nötig.
Kommentare
Noch keine Kommentare. Sei der Erste.