Hermes Agent auf einem VPS einrichten: 24/7 Linux-Server-Guide
Beim Betrieb des Hermes Agent auf einem VPS läuft das Open-Source-Agentenframework dauerhaft auf einem Linux-Server statt auf dem eigenen Computer. Dadurch ist der Agent rund um die Uhr erreichbar, kann schnell auf externe Modell- und Tool-APIs zugreifen und zeitgesteuerte Aufgaben über integrierte Cron-Automatisierungen selbstständig ausführen.
Was bedeutet der Betrieb des Hermes Agent auf einem VPS?
Den Hermes Agent auf einem VPS zu betreiben bedeutet, das Open-Source-Agentenframework von Nous Research auf einem dauerhaft erreichbaren Linux-Server zu installieren. Dadurch bleibt der KI-Agent unabhängig vom eigenen Computer verfügbar, kann Modell- und Tool-APIs mit geringer Netzwerklatenz ansprechen und zeitgesteuerte Aufgaben über seinen integrierten Cron- und Gateway-Prozess selbstständig ausführen. Ein Virtual Private Server ist besonders für Messenger-Bots, regelmäßige Rechercheaufgaben, Webhooks und andere Automatisierungen, die rund um die Uhr erreichbar sein sollen, eine sinnvolle Wahl.
Lassen Sie sich von den Vorteilen überzeugen. Probieren Sie Ihren Virtual Server ganz in Ruhe 30 Tage lang aus!
VPS-Systemvoraussetzungen und Betriebssystem
Für den normalen VPS-Betrieb muss das verwendete Sprachmodell nicht auf dem Server selbst laufen. Hermes kann beispielsweise über OpenRouter, Anthropic, Nous Portal, Google/Gemini oder andere unterstützte Anbieter auf ein extern gehostetes Modell zugreifen. In diesem Fall verarbeitet der VPS vor allem die Hermes-Anwendung, Sitzungsdaten, Gateway-Verbindungen, Cronjobs und lokale Werkzeuge.
Die folgenden Werte sind deshalb praktische Empfehlungen für den API-Betrieb und keine starren, vom Programm erzwungenen Hardwaregrenzen:
| Komponente | Minimum (nur API) | Empfohlen (für lokale Tools/Docker) |
|---|---|---|
| Prozessor | 1 vCPU | 2 bis 4 vCPUs |
| Arbeitsspeicher | 2 GB RAM | 4 bis 8 GB RAM |
| Speicherplatz | 20 GB SSD oder NVMe | 50 GB oder mehr |
| Systemarchitektur | 64-Bit, beispielsweise x86-64 oder ARM64 | x86-64 für größtmögliche Kompatibilität |
| Netzwerk | Stabile Internetverbindung mit ausgehendem HTTPS-Zugriff | Hohe Bandbreite und niedrige Latenz |
| Betriebssystem | Ubuntu 24.04 LTS oder 26.04 LTS | Ubuntu 24.04 LTS oder 26.04 LTS |
| Zusätzlicher Swap-Speicher | 1 GB bei knappem RAM sinnvoll | 2 bis 4 GB als Reserve |
Die Tabelle bezieht sich ausdrücklich auf den Betrieb mit externen Modell-APIs. Ein großes Sprachmodell lokal auf einem gewöhnlichen CPU-VPS auszuführen, erfordert erheblich mehr Arbeitsspeicher und Rechenleistung. Für größere lokale Modelle sind normalerweise ein GPU-Server oder speziell dafür ausgelegte Hardware notwendig.
Nicht nur der Server, sondern auch das gewählte Sprachmodell muss zu Hermes passen. Nach der Hermes-Dokumentation benötigt das Modell ein Kontextfenster von mindestens 64.000 Tokens. Kleinere Kontextfenster reichen für längere Werkzeugabläufe und umfangreiche Sitzungen nicht aus und können beim Start abgelehnt werden. Bei einem Anbieter wie OpenRouter oder Anthropic wählen Sie daher ein Modell mit mindestens 64K-Kontextfenster.
Server-Härtung und Sicherheitsvorkehrungen
Hermes kann Dateien bearbeiten, Programme ausführen und Terminal-Befehle starten. Ein unsicher konfigurierter VPS würde Angreifenden dadurch besonders weitreichende Möglichkeiten bieten. Sie sollten den Agenten deshalb niemals dauerhaft als Root-User betreiben und nur diejenigen Funktionen, Ports und Zugänge aktivieren, die Sie tatsächlich benötigen.
System aktualisieren
Melden Sie sich zunächst über SSH beim Server an. Bei einem neu eingerichteten VPS geschieht dies häufig zunächst als Root-User:
ssh root@SERVER-IPbashErsetzen Sie SERVER-IP durch die öffentliche IP-Adresse Ihres Servers. Aktualisieren Sie anschließend die Paketlisten und die installierten Pakete:
apt update
apt full-upgrade -ybashFalls dabei ein neuer Kernel installiert wurde, starten Sie den Server neu:
rebootbashWarten Sie, bis der VPS wieder erreichbar ist, und melden Sie sich erneut an.
Dedizierten Non-Root-User anlegen
Erstellen Sie nun einen separaten User für Hermes:
adduser hermesbashSie werden aufgefordert, ein sicheres Passwort zu vergeben. Weitere Angaben wie Name oder Telefonnummer können Sie mit der Eingabetaste überspringen. Fügen Sie den User anschließend der Gruppe sudo hinzu:
usermod -aG sudo hermesbashDer User arbeitet damit im Alltag ohne Root-Rechte, kann aber einzelne Verwaltungsbefehle bewusst mit sudo ausführen. Noch strenger wäre ein Dienstbenutzer ohne allgemeine sudo-Rechte. Die offizielle Hermes-Installation unterstützt einen solchen unprivilegierten Betrieb ebenfalls; lediglich bestimmte Systembibliotheken für die Browser-Automatisierung müssen gegebenenfalls einmalig durch den Admin installiert werden.
Anmeldung mit einem SSH-Schlüssel einrichten
SSH-Schlüssel sind sicherer als eine reine Passwortanmeldung. Falls auf Ihrem lokalen Computer noch kein Schlüssel vorhanden ist, erzeugen Sie dort einen Schlüssel mit dem Ed25519-Verfahren:
ssh-keygen -t ed25519bashÜbertragen Sie den öffentlichen Schlüssel anschließend auf den Server:
ssh-copy-id hermes@SERVER-IPbashÖffnen Sie danach ein zweites Terminal und testen Sie die neue Anmeldung:
ssh hermes@SERVER-IPbashDeaktivieren Sie den Root-Zugang erst, nachdem diese Anmeldung zuverlässig funktioniert. Andernfalls könnten Sie sich selbst aus dem Server aussperren.
SSH-Root-Login deaktivieren
Erstellen Sie für die eigenen Einstellungen eine separate Konfigurationsdatei:
sudo nano /etc/ssh/sshd_config.d/99-hermes-hardening.confbashTragen Sie Folgendes ein:
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication notxtSpeichern Sie die Datei mit Strg + O, bestätigen Sie mit der Eingabetaste und schließen Sie den Editor mit Strg + X. Prüfen Sie die Konfiguration:
sudo sshd -tbashErscheint keine Fehlermeldung, können Sie den SSH-Dienst neu starten:
sudo systemctl restart ssh.servicebashLassen Sie die bisherige SSH-Sitzung zunächst geöffnet. Testen Sie in einem zweiten Terminal erneut, ob die Anmeldung als Benutzer hermes funktioniert.
UFW-Firewall konfigurieren
Ubuntu stellt mit UFW eine vergleichsweise einfach zu bedienende lokale Firewall bereit. UFW ist zunächst deaktiviert und muss nach dem Anlegen der benötigten Regeln ausdrücklich eingeschaltet werden. Installieren und konfigurieren Sie UFW:
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcpbashPort 22 wird für SSH benötigt. Falls Sie einen anderen SSH-Port verwenden, müssen Sie stattdessen diesen Port freigeben. Für öffentlich erreichbare HTTPS-Webhooks oder einen vorgeschalteten Webserver können Sie zusätzlich die Ports 80 und 443 öffnen:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpbashAktivieren Sie die Firewall anschließend:
sudo ufw enable
sudo ufw status verbosebashHermes selbst einschränken
Hermes verfügt über mehrere interne Sicherheitsstufen. Dazu gehören Benutzerfreigaben für Messaging-Plattformen, Rückfragen vor gefährlichen Befehlen, Dateischutz, Container-Isolierung und konfigurierbare Sperrregeln. Für einen unbeaufsichtigten Serverbetrieb sollten Sie insbesondere die Schutzfunktion gegen festgefahrene Werkzeugschleifen aktivieren. Öffnen Sie dazu die Hermes-Konfiguration:
nano ~/.hermes/config.yamlbashErgänzen Sie folgenden Block:
tool_loop_guardrails:
hard_stop_enabled: true
hard_stop_after:
exact_failure: 5
idempotent_no_progress: 5txtDamit wird ein Ablauf beendet, wenn derselbe Fehler oder eine wirkungslose Aktion mehrfach wiederholt wird. Bei unbeaufsichtigten Gateway- und Cron-Sessions aktiviert Hermes solche Hard Stops bereits standardmäßig. Mit hard_stop_enabled: true wird die Schutzfunktion zusätzlich für alle Ausführungsumgebungen aktiviert.
Hermes Agent mit Docker installieren
Es gibt verschiedene Wege, einen Hermes Agenten zu installieren. Sie können den Hermes Agenten lokal betreiben oder auf eine Docker-Installation zurückgreifen. Docker kapselt Hermes vom restlichen Host-System ab. Dadurch lassen sich Abhängigkeiten, Updates und Datenverzeichnisse sauberer voneinander trennen. Das offizielle Image speichert Konfigurationen, API-Schlüssel, Sitzungen, Skills und Erinnerungen in einem vom Host eingebundenen Verzeichnis. Das eigentliche Container-Image bleibt zustandslos und kann aktualisiert werden, ohne diese Daten zu löschen.
Schritt 1: Docker Engine unter Ubuntu installieren
Richten Sie zunächst das offizielle Docker-Paketarchiv ein:
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.ascbashFügen Sie anschließend die Paketquelle hinzu:
sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOFbashInstallieren Sie Docker:
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-pluginbashPrüfen Sie den Dienst:
sudo systemctl status dockerbashTesten Sie die Installation:
sudo docker run --rm hello-worldbashSchritt 2: Hermes-Konfiguration im Container anlegen
Erstellen Sie zunächst das dauerhafte Datenverzeichnis:
mkdir -p ~/.hermesbashStarten Sie danach einmalig den interaktiven Einrichtungsassistenten:
sudo docker run -it --rm \
-v "$HOME/.hermes:/opt/data" \
nousresearch/hermes-agent setupbashSchritt 3: Gateway dauerhaft starten
Wenn Sie Hermes über Telegram, Discord oder eine andere Plattform mit ausgehender Gateway-Verbindung verwenden, benötigen Sie normalerweise keine veröffentlichte API-Schnittstelle:
sudo docker run -d \
--name hermes \
--restart unless-stopped \
-v "$HOME/.hermes:/opt/data" \
nousresearch/hermes-agent gateway runbashDie Restart-Policy unless-stopped startet den Container nach einem Absturz oder Neustart des Docker-Dienstes erneut, sofern Sie ihn nicht zuvor bewusst gestoppt haben. Das aktuelle offizielle Hermes-Image überwacht den Gateway-Prozess zusätzlich innerhalb des Containers. Stürzt der Prozess ab, wird er nach kurzer Zeit neu gestartet, ohne dass der gesamte Container beendet werden muss.
Für Browser-Automatisierungen ergänzen Sie Shared Memory:
sudo docker run -d \
--name hermes \
--restart unless-stopped \
--shm-size=1g \
-v "$HOME/.hermes:/opt/data" \
nousresearch/hermes-agent gateway runbashPersistenz im Hintergrund und Health-Check
Eine normale Anwendung, die Sie direkt in einer SSH-Sitzung starten, wird beendet, sobald die Verbindung geschlossen wird. Für den dauerhaften Betrieb benötigt Hermes deshalb entweder einen systemd-Dienst oder einen Docker-Container mit Restart-Policy.
Native Installation mit systemd betreiben
Hermes kann die passende systemd-Service-Datei selbst erzeugen. Das ist zuverlässiger als eine manuell kopierte Vorlage, weil der Installer dabei den tatsächlichen User, das Hermes-Verzeichnis und den richtigen Pfad zur virtuellen Python-Umgebung berücksichtigt.
Richten Sie zunächst die gewünschten Messaging-Plattformen ein:
hermes gateway setupbashInstallieren Sie den Gateway als systemweiten Dienst:
sudo hermes gateway install --systembashStarten Sie den Dienst:
sudo hermes gateway start --systembashPrüfen Sie seinen Zustand:
sudo hermes gateway status --systembashDie laufenden Protokolle sehen Sie mit:
sudo journalctl -u hermes-gateway -fbashDer systemweite Dienst eignet sich besonders für VPS- und Headless-Systeme, die nach einem Neustart zuverlässig hochfahren sollen. Installieren Sie nicht gleichzeitig einen Benutzer- und einen Systemdienst, da sonst unklar werden kann, welche Instanz durch die Hermes-Befehle verwaltet wird.
Installation mit Hermes Doctor prüfen
Prüfen Sie zum Abschluss die Hermes-Installation und -Konfiguration:
hermes doctorbashDer Diagnosebefehl überprüft die wichtigsten Komponenten des Setups und weist auf mögliche Konfigurationsprobleme hin. Beheben Sie gemeldete kritische Fehler, bevor Sie Hermes dauerhaft im Hintergrund betreiben.
Hermes Agent auf einem IONOS VPS einrichten
Die allgemeine Anleitung lässt sich beispielsweise auf einem IONOS VPS mit Ubuntu 24.04 LTS umsetzen. Bei IONOS verwalten Sie Ihre VPS-Produkte über das Cloud Panel.
Schritt 1: Passenden IONOS VPS auswählen
Die IONOS-VPS+-Tarife unterscheiden sich vor allem durch CPU-Kerne, RAM und NVMe-Speicher:
| Szenario | Passender Tarif | Begründung |
|---|---|---|
| Einfacher Telegram- oder Discord-Bot mit externer Modell-API | VPS S+ mit 2 vCores, 2 GB RAM und 90 GB NVMe | Ausreichend für einen einzelnen, schlank konfigurierten Gateway ohne Browser-Automatisierung |
| Allgemeiner 24/7-Betrieb mit Docker und mehreren Cron-Aufgaben | VPS M+ mit 4 vCores, 4 GB RAM und 120 GB NVMe | Gute Standardausstattung mit Reserve für Updates, Logs und mehrere Integrationen |
| Browser-Automatisierung, mehrere Profile oder parallele Aufgaben | VPS L+ mit 6 vCores, 8 GB RAM und 240 GB NVMe | Genügend RAM für Chromium, Docker und mehrere gleichzeitige Prozesse |
| Viele parallele Agenten und umfangreiche Tool-Workloads | VPS XL+ mit 8 vCores, 16 GB RAM und 480 GB NVMe | Mehr Reserve für parallele Browser- und Codeprozesse |
Für die meisten Einsteigerinnen und Einsteiger ist der VPS M+ die ausgewogenste Wahl. Der VPS S+ kann für einen einzelnen API-basierten Bot genügen, lässt aber nur wenig Spielraum für Browser, zusätzliche Container oder mehrere gleichzeitig laufende Aufgaben.
Schritt 2: VPS bereitstellen und Zugangsdaten aufrufen
Bestellen Sie den gewünschten VPS und wählen Sie Ubuntu 24.04 LTS als Betriebssystem. Öffnen Sie danach in Ihrem IONOS-Konto den Bereich „Menü“ → „Server & Cloud“. Wählen Sie unter „Infrastruktur“ → „Server“ den neuen VPS aus. In den Serverdetails finden Sie den Hostnamen beziehungsweise die IP-Adresse, den anfänglichen User und das Initial-Passwort.

Stellen Sie von Ihrem lokalen Computer die erste Verbindung her:
ssh root@SERVER-IPbashDie SSH-Verbindung ist verschlüsselt. IONOS beschreibt sie als regulären Verwaltungsweg für Linux-Server.
Führen Sie danach die bereits beschriebenen Schritte durch:
- Aktualisieren Sie Ubuntu.
- Legen Sie den User
hermesan. - Übertragen Sie einen SSH-Schlüssel.
- Testen Sie den neuen Zugang.
- Deaktivieren Sie den Root-Login.
- Installieren Sie Hermes nativ oder mit Docker.
Schritt 3: Externe IONOS-Firewall konfigurieren
Neben UFW besitzt der IONOS VPS eine externe Firewall, die im Cloud Panel verwaltet wird. Beide Firewalls sollten aufeinander abgestimmt sein. Ein Port muss nur dann in beiden Ebenen geöffnet werden, wenn er tatsächlich von außen erreichbar sein soll.
Öffnen Sie im Cloud Panel den Bereich „Netzwerk“ → „Firewall-Richtlinien“. Wählen Sie die dem Server zugewiesene Richtlinie aus und entfernen Sie alle nicht benötigten Freigaben. Für eine einfache Hermes-Installation genügen normalerweise:
| Erlaubte IP | Protokoll | Port | Beschreibung |
|---|---|---|---|
| Eigene feste IP oder alle IPs, falls unvermeidbar | TCP | 22 | SSH |
| Alle IPs | TCP | 80 | Optional für HTTP und Zertifikate |
| Alle IPs | TCP | 443 | Optional für HTTPS-Webhooks |
Port 8642 und Port 9119 sollten nicht direkt in der IONOS-Firewall geöffnet werden. Verwenden Sie für Verwaltungszugriffe besser einen SSH-Tunnel oder einen korrekt abgesicherten Reverse Proxy.

Für reine Telegram-, Discord- oder andere Messenger-Gateways müssen Sie keinen Port des Containers veröffentlichen. Port 8642 wird nur benötigt, wenn Sie den API-Server beziehungsweise dessen Health-Endpunkt vom Host aus erreichen möchten. Veröffentlichen Sie den Port daher nur, wenn Sie diese Funktion tatsächlich nutzen.
Schritt 4: Hermes auf dem IONOS VPS installieren
Melden Sie sich nun als neuer User an:
ssh hermes@SERVER-IPbashInstallieren Sie die Basispakete:
sudo apt update
sudo apt install -y git curl xz-utils ca-certificatesbashFühren Sie anschließend den Hermes-Installer aus:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrcbashStarten Sie die Einrichtung:
hermes setupbashWählen Sie Ihren Modellanbieter, tragen Sie den API-Schlüssel ein und aktivieren Sie nur die Werkzeuge und Messaging-Plattformen, die Sie benötigen.

Prüfen Sie zunächst einen normalen Chat:
hermesbash
Richten Sie erst danach den dauerhaften Gateway ein:
hermes gateway setup
sudo hermes gateway install --system
sudo hermes gateway start --systembashFühren Sie zum Abschluss die Diagnose aus:
hermes doctor
sudo hermes gateway status --systembash
Schritt 5: 24/7-Betrieb abschließend testen
Ein erfolgreicher Status direkt nach der Installation genügt noch nicht. Starten Sie den IONOS VPS einmal kontrolliert neu:
sudo rebootbashMelden Sie sich nach dem Neustart wieder an und prüfen Sie:
sudo hermes gateway status --systembashBei Docker verwenden Sie stattdessen:
sudo docker ps
sudo docker logs --tail 50 hermesbashSenden Sie zusätzlich eine Testnachricht über die angebundene Messaging-Plattform und führen Sie eine einfache Cron-Aufgabe aus. Der Hermes-Scheduler wird vom laufenden Gateway verwaltet und prüft standardmäßig regelmäßig, ob geplante Aufgaben fällig sind. Ohne laufenden Gateway werden diese Automatisierungen nicht automatisch ausgeführt.
Sicherheits- und Betriebscheckliste
Vor dem produktiven Betrieb sollten folgende Punkte erfüllt sein:
✓ Hermes läuft nicht als Root-User.
✓ Die SSH-Anmeldung funktioniert über einen Schlüssel.
✓ Der Root-Login und die Passwortanmeldung per SSH sind deaktiviert.
✓ Die IONOS-Firewall und UFW lassen nur erforderliche Ports zu.
✓ Port 8642 und das Dashboard sind nicht direkt öffentlich erreichbar.
✓ Die Datei ~/.hermes/.env besitzt die Berechtigung 600.
✓ Nur freigegebene User dürfen den Messenger-Gateway ansprechen.
✓ Die Schutzfunktion gegen wiederholte Tool-Schleifen ist aktiviert.
✓ hermes doctor meldet keine kritischen Fehler.
✓ Der Gateway startet nach einem Serverneustart automatisch.
✓ Backups des Verzeichnisses ~/.hermes werden regelmäßig erstellt.
✓ Sicherheitsupdates für Ubuntu, Docker und Hermes werden regelmäßig eingespielt.
Fazit
Ein Linux-VPS macht den Hermes Agent unabhängig vom eigenen Computer und ermöglicht dauerhaft erreichbare Messenger-Bots, API-Schnittstellen und zeitgesteuerte Automatisierungen. Für einen einfachen API-Betrieb reichen wenige Ressourcen, während Docker, Browser-Automatisierung und parallele Aufgaben von zusätzlichem Arbeitsspeicher profitieren.
Ein einzelner VPS bleibt trotz automatischer Neustarts ein möglicher Ausfallpunkt. Für geschäftskritische Anwendungen sollten Sie deshalb zusätzlich externe Backups, eine Überwachung des Health-Endpunkts und bei Bedarf eine zweite Instanz mit Load Balancer einplanen.

