n8n mit seinem brandneuen KI-Assistenten auf einem Hetzner Ubuntu Server selbst hosten

n8n mit seinem brandneuen KI-Assistenten auf einem Hetzner Ubuntu Server selbst hosten

Yulei Chen - Content-Engineerin bei sliplane.ioYulei Chen
10 min

Mit n8n 2.35 ist es deutlich einfacher geworden, den neuen KI-Assistenten in der Vorschau auf einer selbst gehosteten Instanz zu nutzen. Statt Assistent, Code-Sandbox und Websuche von Hand miteinander zu verbinden, erstellt der offizielle Installer den kompletten Docker-Compose-Stack für dich.

Du behältst die Kontrolle über den Server und deine n8n-Daten und kannst deinen bevorzugten Modellanbieter anbinden. Dafür bist du selbst für Sicherheit, Updates, Monitoring und Backups des Servers verantwortlich.

Du möchtest weniger Server-Wartung?

Deploye n8n auf Sliplane – HTTPS und persistenter Speicher sind bereits eingerichtet. (Hinweis: Das aktuelle n8n-Preset von Sliplane konfiguriert den neuen KI-Assistenten noch nicht vor.)

Am Ende dieser Anleitung hast du:

  • n8n auf einem Ubuntu Server am Laufen
  • den KI-Assistenten in der Vorschau inklusive Sandbox und privater Websuche mit SearXNG
  • persistente n8n-Daten in einem Docker Volume
  • Caddy, das HTTPS für deine Domain übernimmt
  • korrekt konfigurierte öffentliche URLs für Webhooks und den Editor
  • einen OpenAI-kompatiblen Modellanbieter, der mit dem Assistenten verbunden ist

Voraussetzungen

Bevor du loslegst, brauchst du:

  • einen Hetzner Cloud Account
  • eine Domain oder Subdomain, die du auf den Server verweisen lassen kannst
  • einen API-Key von einem unterstützten Modellanbieter

Das Setup des KI-Assistenten besteht aus mehreren Containern, darunter n8n, eine Sandbox, Task Runner und SearXNG. Wähle daher einen Server mit mindestens 2 vCPUs und 4 GB RAM statt des kleinsten verfügbaren VPS.

Der KI-Assistent für selbst gehostete n8n-Instanzen befindet sich noch in der Vorschau. Sein Verhalten und die Einrichtung können sich ändern, und seine Ausgaben können Fehler enthalten. Prüfe jeden generierten Workflow, bevor du ihn aktivierst.

Schritt 1: Deinen Hetzner Server einrichten

Falls du noch keinen Hetzner Server hast, folge diesen Schritten:

  1. Öffne die Hetzner Cloud Console, wähle ein Projekt aus oder erstelle ein neues und gehe zu ServersAdd Server.

Hetzner Cloud Console

  1. Wähle die Server-Konfiguration:
    • Location: Wähle ein Rechenzentrum in deiner Nähe oder in der Nähe deiner Nutzer.
    • Image: Wähle die neueste Ubuntu LTS-Version.
    • Server type: Wähle für den vollständigen KI-Assistenten-Stack einen Tarif mit mindestens 2 vCPUs und 4 GB RAM.

Servertyp auswählen

Standort auswählen

Ubuntu Image auswählen

  1. Füge deinen öffentlichen SSH-Key hinzu. Falls du noch keinen hast, generiere ihn auf deinem Computer:
Terminal
ssh-keygen -t ed25519 -C "your_email@example.com"

Kopiere den Inhalt von ~/.ssh/id_ed25519.pub in die Hetzner Cloud Console.

SSH-Key hinzufügen

  1. Konfiguriere bei Bedarf das Netzwerk und klicke anschließend auf Create & Buy now.

Hetzner Netzwerkeinstellungen

Sobald der Server bereit ist, notiere dir seine öffentliche IPv4-Adresse.

IPv4-Adresse des Hetzner Servers

Schritt 2: Deinen Server aktualisieren

Verbinde dich per SSH mit dem Server:

Terminal
ssh root@your-server-ip

Installiere die neuesten Sicherheits- und Paket-Updates für Ubuntu:

Terminal
sudo apt-get update
sudo apt-get upgrade -y

Schritt 3: Die Firewall konfigurieren

Gib nur SSH, HTTP und HTTPS frei:

Terminal
sudo apt install ufw -y
sudo ufw allow 22    # SSH
sudo ufw allow 80    # HTTP
sudo ufw allow 443   # HTTPS
sudo ufw enable

Prüfe das Ergebnis:

Terminal
sudo ufw status verbose

Von Docker veröffentlichte Ports können UFW-Regeln umgehen. Später in dieser Anleitung binden wir den n8n-Port 5678 an 127.0.0.1. So ist er über Caddy erreichbar, aber nicht direkt aus dem Internet. Mehr dazu findest du unter Docker und ufw.

Schritt 4: Docker installieren

Installiere die Pakete, die du zum Hinzufügen des offiziellen Docker-Repositories brauchst:

Terminal
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Füge das Docker-Repository hinzu:

Terminal
echo \
  "deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

Installiere Docker Engine und Docker Compose:

Terminal
sudo apt-get install docker-ce docker-ce-cli \
containerd.io docker-buildx-plugin docker-compose-plugin -y

Überprüfe die Installation:

Terminal
sudo docker run hello-world
sudo docker compose version

Schritt 5: Deine Domain auf den Server verweisen lassen

Füge in den DNS-Einstellungen deines Domain-Anbieters Einträge für die Domain oder Subdomain hinzu, die du verwenden möchtest. In dieser Anleitung dient n8n.yourdomain.com als Beispiel.

  • Füge einen A-Record mit dem Namen n8n hinzu, der auf die IPv4-Adresse des Servers verweist.
  • Füge optional einen AAAA-Record mit dem Namen n8n hinzu, der auf die IPv6-Adresse des Servers verweist.

Es kann etwas dauern, bis DNS-Änderungen überall übernommen wurden. Du kannst den A-Record von deinem Computer aus prüfen:

Terminal
dig +short n8n.yourdomain.com

Fahre fort, sobald der Befehl die IP-Adresse deines Servers zurückgibt.

Schritt 6: Caddy für HTTPS installieren

Caddy dient als Reverse Proxy und bezieht automatisch ein TLS-Zertifikat von Let's Encrypt.

Terminal
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
| sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
| sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo apt update
sudo apt install caddy -y

Öffne die Caddy-Konfiguration:

Terminal
sudo nano /etc/caddy/Caddyfile

Ersetze den Inhalt durch die folgende Konfiguration und trage deine echte Domain ein:

Caddyfile
n8n.yourdomain.com {
    reverse_proxy 127.0.0.1:5678
}

Validiere die Konfiguration und starte Caddy neu:

Terminal
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl restart caddy

Schritt 7: n8n und den KI-Assistenten-Stack installieren

Der offizielle Einzeilen-Installer erstellt einen Docker-Compose-Stack mit n8n, externen Task Runnern, einer KI-Sandbox und SearXNG. Führe ihn mit --no-start in deinem Home-Verzeichnis aus, damit du den Port absichern und deine öffentliche URL konfigurieren kannst, bevor die Container starten:

Terminal
cd ~
curl -fsSL https://get.n8n.io | sh

Der Installer erstellt ~/n8n/compose.yml, ~/n8n/.env und ~/n8n/searxng-settings.yml. Außerdem generiert er individuelle Secrets und speichert die n8n-Daten in einem Docker Volume.

Bevor du fortfährst, konfiguriere die öffentliche Webhook-URL. Öffne dazu die generierte .env-Datei:

Terminal
cd ~/n8n
sudo nano .env

Füge die folgende Variable hinzu und ersetze die Beispieldomain durch deine eigene Domain:

.env
N8N_WEBHOOK_URL=https://n8n.yourdomain.com

Speichere die Datei und starte anschließend den Docker-Compose-Stack neu, damit die Änderung übernommen wird:

Terminal
docker compose restart

Schritt 8: Ein Modell mit dem KI-Assistenten verbinden

Öffne https://n8n.yourdomain.com und erstelle den Owner-Account. Öffne anschließend den AI Assistant und folge den Anweisungen, um einen Modellanbieter zu verbinden.

n8n unterstützt unter anderem Anthropic, OpenAI, OpenRouter und weitere OpenAI-kompatible APIs. Das Modell läuft beim jeweiligen Anbieter. Die API-Nutzung wird deshalb separat von deinem Hetzner Server abgerechnet.

Wenn du zum Beispiel Melious mit GLM-5.2 verwenden möchtest, wähle einen OpenAI-kompatiblen Anbieter und trage Folgendes ein:

  • Base URL: https://api.melious.ai/v1
  • API key: dein Melious API-Key
  • Model: glm-5.2

Jetzt kannst du den gewünschten Workflow in natürlicher Sprache beschreiben. Zum Beispiel: „Benachrichtige mich in Slack, sobald Dan Abramov einen neuen Blogpost veröffentlicht.“

Der Assistent kann den Feed des Blogs finden, einen RSS-Trigger hinzufügen und den Slack-Schritt erstellen. Anschließend fordert er dich auf, deinen Slack-Account zu verbinden und einen Channel auszuwählen. Prüfe die generierten Nodes, verbinde die Zugangsdaten und teste den Workflow, bevor du ihn veröffentlichst.

Der n8n KI-Assistent erstellt einen RSS-zu-Slack-Workflow

Empfehlungen zu Sicherheit und Backups

Ein öffentlich erreichbarer Automatisierungsserver verarbeitet wertvolle Zugangsdaten und kann Code ausführen. Behandle ihn deshalb wie produktive Infrastruktur:

  • Halte Ubuntu, Docker, n8n und die Sandbox-Images aktuell.
  • Beschränke n8n-Accounts auf vertrauenswürdige Nutzer und verwende sichere Passwörter.
  • Mache die Ports 5678, 5679, 8080, 9090 und den Docker Socket niemals öffentlich zugänglich.
  • Prüfe KI-generierte Workflows, bevor du sie veröffentlichst.
  • Sichere das Docker Volume n8n-data und die generierte Datei ~/n8n/.env.
  • Bewahre Backups außerhalb des Servers auf und teste, ob du sie wiederherstellen kannst.
  • Überwache die Container-Logs und die Ressourcennutzung.

Die generierte .env-Datei enthält Secrets, mit denen die Services des Stacks miteinander verbunden werden. Halte sie geheim und nimm sie in deinen Wiederherstellungsplan auf.

n8n aktualisieren

Der Installer legt die n8n-Version fest, statt einen variablen Image-Tag zu verwenden. Um auf die neueste stabile Version zu aktualisieren, führe den Installer im selben Verzeichnis, in dem du den Ordner n8n erstellt hast, erneut mit --upgrade aus:

Terminal
cd ~
curl -fsSL https://get.n8n.io | sh -s -- --upgrade

Sichere vorher deine Daten und lies die n8n Release Notes, um dich über Breaking Changes zu informieren. Der Upgrade-Befehl aktualisiert die n8n-Version in .env, lädt die Images herunter und startet den Stack neu. Deine angepasste compose.yml wird nicht überschrieben.

Da sich der KI-Assistent noch in der Vorschau befindet, solltest du bei einem Upgrade auch die Änderungen am offiziellen Compose-Stack prüfen.

Was Self-Hosting kostet

Deine Gesamtkosten setzen sich aus zwei Teilen zusammen:

  • dem festen monatlichen Preis deines Hetzner Servers
  • den nutzungsabhängigen Kosten des Modellanbieters, den du mit dem KI-Assistenten verbunden hast

Für die n8n Community Edition fallen keine zusätzlichen Hosting-Gebühren pro Ausführung an. Der operative Aufwand bleibt aber bei dir: Updates, Backups, Monitoring, Sicherheit und Wiederherstellung. Wenn du verwaltetes Container Hosting bevorzugst, übernimmt Sliplanes n8n Hosting den Großteil dieser Server-Arbeit für dich.

Fazit

Jetzt laufen n8n und sein KI-Assistent in der Vorschau auf einem Hetzner Ubuntu Server – mit persistentem Speicher und HTTPS. Der offizielle Installer vereinfacht das Deployment des aus mehreren Containern bestehenden KI-Stacks deutlich. Caddy und ein ausschließlich an localhost gebundener Port sorgen gleichzeitig dafür, dass n8n nur über einen einzigen sicheren öffentlichen Zugang erreichbar ist.

Verbinde als Nächstes die Services, die du verwendest, teste deinen ersten KI-generierten Workflow und richte automatische Backups ein, bevor du die Instanz produktiv nutzt.

n8n in wenigen Minuten deployen

Überspring die Server-Einrichtung und betreibe n8n auf Sliplane – mit HTTPS, persistentem Speicher und Backups.