Anleitungen
n8n selbst hosten auf einem VPS in Deutschland
Eigene n8n-Instanz mit HTTPS, eigener Domain und täglichen Backups auf einem NVMe-Server in Frankfurt für 4,99 € im Monat. Mit One-Click-Image oder Docker Compose.
Aktualisiert
n8n Cloud kostet ab etwa 20 € im Monat und begrenzt die Ausführungen. Ein Server mit 2 GB betreibt ein persönliches n8n mit Hunderten Workflows für 4,99 € im Monat, ohne Ausführungslimit, und Ihre Daten bleiben in Frankfurt. Diese Anleitung bringt Sie von null zu https://n8n.ihredomain.de mit automatischem TLS und täglichen Backups.
Was Sie brauchen
- Ein Odinex-Konto mit ein paar Euro Guthaben (eine Stunde s1 kostet etwa einen Cent).
- Eine eigene Domain, deren DNS Sie bearbeiten können.
- Einen SSH-Schlüssel auf Ihrem Rechner (
ssh-keygen -t ed25519, falls Sie noch keinen haben).
Servergröße
| Einsatz | Typ | RAM | Preis |
|---|---|---|---|
| Privat, bis ~50 aktive Workflows | s1 | 2 GB | 4,99 €/Monat |
| Team, Webhooks unter Last, KI-Nodes | s2 | 4 GB | 8,99 €/Monat |
| Groß: Queue-Modus mit Workern | s4 | 8 GB | 17,99 €/Monat |
Option A: One-Click-Image (2 Minuten Arbeit)
- Konsole → Server → Server erstellen. Standort
fra1, Image n8n unter Apps, Typs1, Ihr SSH-Schlüssel, Namen8n-1, Labelapp=n8n(die Firewall unten nutzt es). - Warten Sie den ersten Start ab: n8n migriert seine Datenbank, bevor es Anfragen annimmt. Auf einem kleinen Server dauert das 3 bis 10 Minuten.
- Per SSH anmelden und Adresse und Passwort lesen:
ssh root@<server-ip>, danncat /root/APP-INFO.txt. Das Owner-Konto (admin@<ihr-host>) wird beim ersten Start angelegt, die Einrichtungsseite ist also nie offen im Internet. - Richten Sie
n8n.ihredomain.de(A-Record) auf die IPv4-Adresse des Servers. Optional zusätzlich einen AAAA-Record für IPv6. Dann auf dem Servernexoran-app-domain n8n.ihredomain.deausführen: Caddy holt ein Let's-Encrypt-Zertifikat, und die Webhook-Basis-URL von n8n folgt dem neuen Namen. - Öffnen Sie
https://n8n.ihredomain.de, melden Sie sich an und ändern Sie die Owner-E-Mail unter Settings → Personal auf Ihre eigene.
Die App liegt in /opt/nexoran-app (Compose-Datei und .env); das Log des ersten Starts ist /var/log/nexoran-app.log.
Option B: Docker Compose von Grund auf (10 Minuten)
Erstellen Sie einen Ubuntu-24.04-Server mit dem Image Docker CE und schreiben Sie die Einstellungen. Das Heredoc ist absichtlich ohne Anführungszeichen, damit die Shell den zufälligen Schlüssel und das Passwort einsetzt:
mkdir -p /opt/n8n && cd /opt/n8n
cat > .env <<EOF
DOMAIN=n8n.ihredomain.de
TZ=Europe/Berlin
N8N_ENCRYPTION_KEY=$(openssl rand -hex 32)
DB_PASSWORD=$(openssl rand -hex 16)
EOF
chmod 600 .envservices:
caddy:
image: caddy:2
restart: unless-stopped
ports: ["80:80", "443:443"]
environment:
- DOMAIN=${DOMAIN}
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
n8n:
image: n8nio/n8n:latest
restart: unless-stopped
environment:
- N8N_HOST=${DOMAIN}
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://${DOMAIN}/
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
- GENERIC_TIMEZONE=${TZ}
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=db
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=${DB_PASSWORD}
volumes:
- n8n_data:/home/node/.n8n
depends_on: [db]
db:
image: postgres:16
restart: unless-stopped
environment:
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=n8n
volumes:
- pg_data:/var/lib/postgresql/data
volumes: { caddy_data: {}, n8n_data: {}, pg_data: {} }{$DOMAIN} {
reverse_proxy n8n:5678
}docker compose up -d, DNS auf den Server zeigen lassen, die URL öffnen und sofort das Owner-Konto anlegen: Bis Sie das tun, kann es jeder anlegen, der die URL öffnet.
Absichern
- Legen Sie in der Konsole eine Firewall an: TCP 22 von Ihrer IP, TCP 80 und 443 von überall erlauben, alles andere verwerfen. Wenden Sie sie per Label
app=n8nan (setzen Sie das Label am Server, falls Sie es beim Erstellen nicht gesetzt haben). - Aktivieren Sie Backups für den Server (+20 % des Preises, 7 tägliche Kopien). Für Backups auf Postgres-Ebene ergänzen Sie einen nächtlichen
pg_dumpauf ein Volume. - Setzen Sie
N8N_ENCRYPTION_KEYeinmal und ändern Sie ihn nie: Zugangsdaten werden damit verschlüsselt. Bewahren Sie eine Kopie sicher auf; ohne den Schlüssel lassen sich gespeicherte Zugangsdaten nach einer Wiederherstellung nicht entschlüsseln.
Aktualisieren
cd /opt/n8n && docker compose pull && docker compose up -d (beim One-Click-Image cd /opt/nexoran-app). Erstellen Sie vorher einen Snapshot, wenn Sie Versionen überspringen.
Dasselbe mit der CLI
odx server create --name n8n-1 --type s1 --image n8n --location fra1 --ssh-key laptop --label app=n8n
odx server ssh n8n-1Kosten
s1 4,99 € + Backups 1,00 € + IPv4 0,50 € = 6,49 € im Monat, unbegrenzter Traffic. Stündlich vom Prepaid-Guthaben abgerechnet; löschen Sie den Server, endet die Abrechnung.