deploy-ai-agent-on-hetzner-vps

title: "KI-Agenten auf einem Hetzner-VPS bereitstellen: Die vollständige Anleitung für 2026" description: "Schritt-für-Schritt-Einrichtung eines Hetzner-VPS für einen selbst gehosteten KI-Agenten im Jahr 2026: Tarifwahl, Firewall-Härtung, Docker Compose, Telegram und was um 3 Uhr morgens schiefgeht." date: 2026-06-08 author: "Hermify Team" tags: ["AI Agents", "Hetzner", "Self-hosting", "Docker"] coverImage: "cover.jpg" socialImage: "og.jpg" coverAlt: "Dunkles Server-Rack mit grüner Status-LED und dem Text „Hetzner AI Agent""
Warum bei selbst gehosteten Agenten immer wieder Hetzner auftaucht
Wenn Sie schon einmal Zeit in der Self-Hosting-Ecke von dev.to, Medium oder in den Indie-KI-Telegram-Gruppen verbracht haben, ist Ihnen dasselbe Muster aufgefallen: Sobald jemand fragt, wo man einen dauerhaft laufenden KI-Agenten für weniger als den Preis von zwei Kaffees betreiben kann, lautet die häufigste Antwort Hetzner Cloud. Die Community landet aus zwei Gründen immer wieder dort, die seit Jahren stabil sind: echte CPU-Leistung pro Euro und eine saubere Cloud Firewall, die Sie konfigurieren können, bevor der Server überhaupt hochfährt.
Diese Anleitung richtet sich an Leserinnen und Leser, die sich entschieden haben, einen KI-Agenten selbst zu hosten (Hermes Agent, OpenClaw, ein n8n-Setup mit einem LLM-Knoten oder irgendetwas anderes, das von einem dauerhaft laufenden Server aus eine Modell-API aufruft), und das auf Hetzner tun möchten, ohne die Teile zu überspringen, die um 3 Uhr morgens zählen. Tarifwahl, Härtung, Docker Compose, ein Telegram-Kanaltest und die ehrliche Liste der Dinge, die irgendwann schiefgehen werden.
Falls Sie noch entscheiden, welchen günstigen VPS Sie nutzen sollen, deckt unser Vergleich günstiger VPS das breitere Feld ab. Dieser Beitrag setzt voraus, dass Sie sich für Hetzner entschieden haben.
Schritt 1: Den richtigen Tarif wählen
Hetzner Cloud unterteilt seine Tarife mit gemeinsam genutzten vCPUs (Stand Mitte 2026) in drei Linien:
- CX (Intel) - ältere gemeinsam genutzte Intel-vCPUs, die in einigen Regionen auslaufen
- CPX (AMD EPYC) - der aktuelle x86-Standard, schnellster Single-Thread
- CAX (ARM Ampere) - die günstigste Linie, sehr starke Leistung pro Euro
Für einen API-gesteuerten KI-Agenten (einen, der OpenAI, Anthropic, OpenRouter oder Ihre eigene Ollama-Instanz aufruft und Tool-Aufrufe lokal orchestriert) ist der gewünschte Tarif der kleinste aus einer dieser Linien:
| Tarif | vCPU | RAM | NVMe | EU-Preis | Hinweise |
|---|---|---|---|---|---|
| CAX11 (ARM) | 2 | 4 GB | 40 GB | ~€3,79/Monat | Günstigste brauchbare Option |
| CX22 (Intel) | 2 | 4 GB | 40 GB | ~€3,79/Monat | Wird in einigen Regionen eingestellt |
| CPX11 (AMD) | 2 | 2 GB | 40 GB | ~€4,59/Monat | Bester Single-Thread auf x86 |
| CPX21 (AMD) | 3 | 4 GB | 80 GB | ~€7,55/Monat | Spielraum für einen zweiten Agenten oder Browser-Tools |
Die Preise für die US-Region liegen etwas höher (etwa $4,59-$4,99 für die entsprechende CX22-Ausstattung). Hetzner hat die Preise am 15. Juni 2026 angepasst - neue Bestellungen nutzen den neuen Tarif, bestehende Server behalten den alten Tarif, bis Sie neu skalieren.
Empfehlung: Beginnen Sie mit CAX11 oder CX22. Zwei vCPU und 4 GB RAM reichen für einen einzelnen Agenten, ein Telegram-Gateway, einen kleinen Reverse-Proxy und einen Docker-Daemon, mit Spielraum für die gelegentliche Headless-Browser-Aufgabe. Wenn Sie planen, mehrere Agenten zu betreiben, Seiten mit Playwright zu scrapen oder über Nacht Skills im Stapel laufen zu lassen, wechseln Sie zu CPX21.
Falls Ihre Agenten-Laufzeitumgebung noch kein ARM-Image bereitstellt, bleiben Sie bei CX22 oder CPX11. Die meisten beliebten Laufzeitumgebungen (Hermes Agent, OpenClaw, n8n) stellen heute linux/arm64-Images bereit, sodass die CAX-Linie in der Regel infrage kommt.
Schritt 2: Den Server bereitstellen und vor dem SSH-Zugriff absichern
Das ist der Schritt, der am häufigsten übersprungen wird und sich später rächt. Hetzner gibt Ihnen zwei Firewalls (die Cloud Firewall auf Edge-Ebene und die UFW auf Host-Ebene). Nutzen Sie beide. Die Cloud Firewall ist diejenige, die Sie konfigurieren sollten, bevor der Server hochfährt, damit er niemals auch nur ein einziges Paket auf einem Port annimmt, den Sie nicht öffnen möchten.
Erstellen Sie in der Hetzner-Konsole eine Cloud Firewall mit diesen eingehenden Regeln:
- TCP 22 nur von Ihrer IP (oder von einem kleinen CIDR, falls Sie einen festen Büro-Bereich haben)
- TCP 80 von
0.0.0.0/0, ::/0(nur falls Sie auf dieser Instanz einen Reverse-Proxy betreiben) - TCP 443 von
0.0.0.0/0, ::/0(nur falls Sie HTTPS für Webhooks oder eine Web-UI benötigen) - ICMP von
0.0.0.0/0, ::/0(damitpingfür die Überwachung funktioniert)
Ausgehend: Belassen Sie die Standardeinstellung „alles erlauben" - der Agent muss die Modell-API erreichen können.
Erstellen Sie nun den Server, hängen Sie die Firewall an und wählen Sie Ubuntu 24.04 LTS. Fügen Sie im SSH-Schlüssel-Bereich den öffentlichen Schlüssel von Ihrem Laptop hinzu. Erlauben Sie keine Anmeldung per Passwort.

Sobald der Server läuft, melden Sie sich per SSH als root an und erledigen Sie sofort vier Dinge:
# 1. Patch
apt update && apt upgrade -y && apt install -y ufw fail2ban unattended-upgrades
# 2. Create a non-root user
adduser --disabled-password --gecos "" agent
usermod -aG sudo agent
mkdir -p /home/agent/.ssh && cp ~/.ssh/authorized_keys /home/agent/.ssh/
chown -R agent:agent /home/agent/.ssh && chmod 600 /home/agent/.ssh/authorized_keys
# 3. Lock down SSH
sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart ssh
# 4. Host firewall (UFW), redundant with Cloud Firewall but a useful safety net
ufw default deny incoming && ufw default allow outgoing
ufw allow OpenSSH && ufw allow 80/tcp && ufw allow 443/tcp
ufw --force enable
Aktivieren Sie anschließend unbeaufsichtigte Sicherheitsupdates und fail2ban mit sinnvollen Standardeinstellungen:
dpkg-reconfigure -plow unattended-upgrades # answer Yes
systemctl enable --now fail2ban
Fail2ban sperrt standardmäßig IPs nach 5 fehlgeschlagenen SSH-Versuchen innerhalb von 10 Minuten. Die Cloud Firewall verwirft die meisten davon bereits am Edge, aber fail2ban fängt alles ab, was durchrutscht (eine Kollegin, ein falsch konfigurierter CI-Runner, Sie selbst).
Melden Sie sich von root ab, melden Sie sich wieder als agent an und machen Sie von dort aus weiter.
Schritt 3: Docker installieren
Docker ist im Jahr 2026 die sauberste Methode, einen KI-Agenten auf einem VPS zu betreiben. Der Agent bleibt isoliert, Abhängigkeiten verschmutzen den Host nicht, und Updates sind nur ein pull && up entfernt.
# As the agent user, with sudo
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker agent
newgrp docker
docker run --rm hello-world
Wenn hello-world etwas ausgibt, ist Docker einsatzbereit.
Schritt 4: Den Agenten mit Docker Compose bereitstellen
Erstellen Sie ~/agent/docker-compose.yml auf dem Server. Das folgende Beispiel ist für Hermes Agent, aber die Struktur ist identisch für OpenClaw, Open WebUI + einen LLM-Anbieter oder jede andere containerisierte Agenten-Laufzeitumgebung.
services:
agent:
image: ghcr.io/your-runtime/agent:latest
container_name: agent
restart: unless-stopped
env_file: .env
volumes:
- ./data:/data
- ./skills:/skills
- ./memory:/memory
ports:
- "127.0.0.1:8080:8080" # web UI bound to localhost only
Erstellen Sie dann ~/agent/.env:
# Model provider (BYOK - bring your own key)
OPENAI_API_KEY=sk-...
# Or any of:
# ANTHROPIC_API_KEY=...
# OPENROUTER_API_KEY=...
# Messaging gateway
TELEGRAM_BOT_TOKEN=...
TELEGRAM_ALLOWED_USERS=12345678 # your Telegram user ID
# Persistence
DATA_DIR=/data
MEMORY_DIR=/memory
chmod 600 .env, damit andere Nutzer auf der Instanz Ihre Schlüssel nicht lesen können, und starten Sie es anschließend:
docker compose up -d
docker compose logs -f agent
Die Richtlinie restart: unless-stopped hält den Agenten über Neustarts hinweg am Leben. Wenn Sie eine native Installation anstelle von Docker bevorzugen, ist das Äquivalent eine systemd-Unit mit Restart=always und WantedBy=multi-user.target.
Schritt 5: Telegram einrichten und testen
Wenn Sie sich für Telegram als Nachrichtenoberfläche entschieden haben (das tun die meisten Self-Hoster, weil die Bot-API kostenlos und sofort verfügbar ist), ist die Testschleife kurz:
- Schreiben Sie mit @BotFather auf Telegram, führen Sie
/newbotaus und speichern Sie das Token in.env. - Schreiben Sie mit @userinfobot, um Ihre numerische Telegram-Benutzer-ID zu erhalten, und tragen Sie sie in
TELEGRAM_ALLOWED_USERSein. docker compose restart agent.- Öffnen Sie Ihren neuen Bot in Telegram und senden Sie „hello".
Sie sollten innerhalb weniger Sekunden eine Antwort sehen. Falls nicht, weist docker compose logs -f agent in der Regel direkt auf das Problem hin (fehlendes Token, falsche Allowed-User-ID, Modell-Anbieter liefert 401 zurück).
Eine viel ausführlichere Anleitung zum Telegram-Teil (Gruppen, Themen, Sprachmodus, Fehlerbehebung) finden Sie unter So bauen Sie einen KI-Agenten auf Telegram.

Schritt 6: Backups und Überwachung (der Teil, den alle überspringen)
Zwei günstige Dinge, die sich beim ersten Ausfall bezahlt machen:
- Hetzner-Snapshots: Aktivieren Sie in der Konsole einen täglichen Snapshot des Servers. Etwa €0,012/GB/Monat, also rund €0,50/Monat für eine 40-GB-Festplatte. Markieren Sie einen mit „before-update", bevor Sie ein
docker compose pullausführen. - Ein Uptime-Ping: kostenlos bei BetterStack oder UptimeRobot. Lassen Sie ihn alle 5 Minuten
https://your-domain/healthaufrufen (oder einfach eine TCP-Prüfung durchführen). Wenn das Telegram-Gateway das erste Mal um 3 Uhr morgens die Verbindung verliert, erfahren Sie es vor dem Mittagessen statt erst beim Mittagessen.
Für den eigenen Zustand des Agenten (Memory-Dateien, Skills, Konversationsverlauf) richten Sie einen einzeiligen Cron-Job ein, der das eingebundene Volume in /var/backups/agent-$(date +%F).tar.gz packt und ältere Kopien rotiert. Kopieren Sie das wöchentlich per Rsync von der Instanz weg auf einen zweiten günstigen VPS, einen S3-kompatiblen Bucket oder Ihren Laptop.
Schritt 7: Updates
Einmal pro Woche, sobald der Snapshot bereits erstellt ist:
cd ~/agent
docker compose pull
docker compose up -d
docker image prune -f
Das Ganze dauert in der Regel weniger als eine Minute. Falls das neue Image etwas kaputtmacht, stellen Sie den Snapshot über die Hetzner-Konsole wieder her - der einzige Zustand, den Sie verlieren, sind die Konversationen zwischen dem Snapshot und jetzt, die im Memory-Volume des Agenten liegen.
Was irgendwann schiefgeht
Eine kurze, ehrliche Liste:
- Telegram-Long-Polling bricht ab während längerer Netzwerkaussetzer. Die meisten Laufzeitumgebungen verbinden sich automatisch neu, aber falls Ihre das nicht tut, fängt der Uptime-Ping es ab.
docker compose pullliefert eine Konfigurationsänderung, die etwas kaputtmacht. Pinnen Sie das Image-Tag in der Produktion auf eine bestimmte Version statt auf:latest.- Der Modell-Anbieter drosselt Sie per Rate-Limit, und der Agent reagiert ohne offensichtlichen Fehler nicht mehr. Protokollieren Sie immer den HTTP-Status des Anbieters und bevorzugen Sie Anbieter mit Nutzungs-Dashboards.
- Eine Festplatte läuft voll, weil ein Skill ohne Rotation nach
/tmpschreibt.du -sh /*unddocker system dfsollten in Ihrem Debugging-Muskelgedächtnis sitzen. - Sie vergessen die Firewall-Regel, wenn Sie einen zweiten Dienst hinzufügen. Beide Firewalls (Cloud + UFW) brauchen den neuen Port, sonst verbringen Sie 20 Minuten damit, „connection refused" von der richtigen Adresse zu debuggen.
Keines dieser Probleme ist Hetzner-spezifisch. Es ist die Steuer dafür, etwas selbst zu betreiben.
Wenn die VPS-Rechnung nicht mehr aufgeht
Falls Sie das hier lesen und die obigen Schritte interessant klingen - großartig, genau für diesen Workflow ist Hetzner gut. Günstig, schnell, transparent.
Falls sie sich nach einer Steuer auf ein Wochenende anhören, verschiebt sich die Rechnung. Verwaltetes Hosting tauscht €4/Monat und einen Sonntagnachmittag gegen ein Setup, das bereits das Telegram-Gateway, BYOK zu Ihrem Anbieter, persistente Memory-Volumes, Snapshots und „es bleibt einfach oben" enthält. Unser Leitfaden Hosting vs. Self-Hosting geht die vollständige Rechnung durch, einschließlich dessen, was Ihre Zeit wert ist.
Legen Sie mit Hermify los, wenn Sie den verwalteten Weg möchten - ein Agent auf Produktionsinfrastruktur in unter 30 Minuten, keine Cloud Firewall zu konfigurieren und kein fail2ban zu optimieren. Wenn Sie es lieber selbst auf Hetzner machen möchten, sollte dieser Leitfaden Sie ans Ziel bringen.
Quellen
- Hetzner Cloud Pricing 2026 - bestusavps.com
- Hetzner Price Adjustment - Hetzner Docs
- Hetzner Data Center Locations - Hetzner Docs
- Basic Cloud Config - Hetzner Community
- Running an AI Agent on a VPS: Security-First Setup - Medium / Tim Daniel Walter
- How to Deploy an AI Agent to Production - Paxrel
- Running AI Coding Agents on Hetzner - Pere Villega
Betreiben Sie Ihren eigenen Hermes Agent
Bringen Sie Ihren API-Schlüssel mit, verbinden Sie Telegram und erhalten Sie in 60 Sekunden einen selbstlernenden KI-Agenten.
Loslegen