AI Frontier

Hermes Agent Docker auf günstigem VPS + Telegram-Bot 2026: Gateway, Pairing und Sicherheits-Runbook

MacHTML Lab2026.05.29 ~16 Min.
Hermes Agent Docker auf günstigem VPS + Telegram-Bot 2026: Gateway, Pairing und Sicherheits-Runbook

Hermes Agent (NousResearch/hermes-agent) ist für einen VPS um etwa 5 $/Monat gedacht, nicht nur für einen Laptop. Das offizielle Docker-Image nousresearch/hermes-agent speichert den gesamten Zustand unter ~/.hermes:/opt/data auf dem Host, und der gateway-Prozess verbindet Telegram, Discord, Slack und weitere Plattformen in einem Hintergrunddienst. Dieser Leitfaden beschreibt Docker auf einem günstigen VPS, Telegram-Bot-Erstellung, Allowlist-Sicherheit und dauerhaftes docker compose. Offizielle Referenzen: Docker-Benutzerhandbuch, Messaging-Gateway, Team-Telegram-Assistenten-Leitfaden.

Wenn Sie Agent-Harnesses auf Apple-Hardware vergleichen, lesen Sie Hermes Agent vs OpenClaw auf macOS und Mac mini M4. Nach langen Telegram-Sitzungen mit aufgeblähtem Kontext optimieren Sie Speicher und Tokens mit Hermes trajectory_compressor auf Mac mini M4. Diese Artikel behandeln lokales Staging; diese Seite fokussiert Linux-VPS plus Docker für Telegram 24/7.

Offenlegung: MacHTML bietet optional Cloud-Mac-mini-Miete zum Staging von Konfigurationen; dieser Leitfaden fokussiert Linux-VPS und Docker und erfordert keinen Mac.

Warum Docker auf einem günstigen VPS

Hermes braucht einen Prozess, der online bleibt, während Sie schlafen. Ein Laptop klappt zu; ein günstiger VPS (oft 1–2 vCPU, 2–4 GB RAM, ca. 4–6 $/Monat) kann gateway run rund um die Uhr ausführen.

Docker bringt drei praktische Vorteile für wöchentliche Deployments. Erstens reproduzierbare Installationen: nousresearch/hermes-agent:latest pullen statt Python 3.11, Node und Distro-Pakete auf jedem neuen VPS zu debuggen. Zweitens isolierte Upgrades: Image tauschen, ~/.hermes auf dem Host behalten. Drittens optional Befehls-Sandbox: TERMINAL_BACKEND=docker für Shell-Tools in einem separaten Container.

Telegram ist der schnellste Kanal für End-to-End-Validierung. Bot mit @BotFather erstellen, Token in ~/.hermes/.env, numerische User-ID in TELEGRAM_ALLOWED_USERS. Standardrichtlinie lehnt unbekannte Nutzer ab; GATEWAY_ALLOW_ALL_USERS=true nicht bei Bots mit Terminalzugriff.

Ein VPS liefert stabile öffentliche IP und vorhersehbare Verfügbarkeit für Cron. Hermes triggert Cron alle 60 Sekunden im Gateway; nach Reboot bringt restart: unless-stopped in Compose den Dienst zurück.

Gegenüber NAS oder Raspberry Pi hat eine kleine Cloud-VM meist bessere Ausgehend-Verbindung zu Telegram und LLM-Anbietern plus Snapshots. Snapshot von ~/.hermes vor großen Upgrades.

Aus der DACH-Region: Region mit stabilem Egress zu Telegram und LLM wählen oder Proxy planen. Offizielles Image von Docker Hub; bei Spiegeln Digest prüfen.

Docker Compose erleichtert Übergaben: eine Compose-Datei, ein Datenverzeichnis, dokumentierter Pairing-Workflow für Staging vor Produktionsänderungen.

Nur Telegram ohne Dashboard: Profil Minimum reicht oft; mit terminal.backend: docker oder mehreren Admins auf Recommended wechseln und RAM zwischen Sandbox und Gateway überwachen.

Für Teams gehören Bot-Token-Rotation, TELEGRAM_ALLOWED_USERS und Compose-Limits in ein internes Runbook — so reproduzieren Kollegen Staging und Produktion, ohne Geheimnisse in Chat-Tickets zu posten.

Vor Upgrades ~/.hermes sichern und Image-Digest notieren — erleichtert Rollback und Audit. Prüfen Sie außerdem, dass nur ein Gateway-Container dieselbe Datenpartition mountet.

Architektur: Gateway im Container

Internet → Telegram API → VPS:hermes container (gateway run)
                                              ↳ /opt/data  (bind-mount ~/.hermes)
                                                   ├─ .env          (TELEGRAM_BOT_TOKEN, API keys)
                                                   ├─ config.yaml   (terminal, models, cron)
                                                   ├─ sessions/     (per-chat history)
                                                   └─ memories/     (curated long-term memory)

Das Gateway ist ein langlaufender Prozess, der Messaging-Plattformen multiplext. Jeder Telegram-Chat über /opt/data/sessions/, Arbeit an die Agent-Schleife, Langzeitgedächtnis unter /opt/data/memories/. Alles auf dem Host durch ~/.hermes:/opt/data.

Niemals dasselbe /opt/data in zwei Gateway-Container mounten. Session-Dateien sind nicht concurrent-safe; doppelte Gateways verursachen Korruption und Duplikate. Produktion: ein hermes-Service, command: gateway run.

Port 8642 optional für OpenAI-kompatible API und Health. Bei nur Telegram nicht veröffentlichen. Bei Aktivierung: API_SERVER_ENABLED=true, vorsichtiges Binden, starker API_SERVER_KEY und Firewall.

In Produktion tägliche Backups und Änderungsalarme für ~/.hermes, damit Session-Verzeichnisse die Platte nicht still füllen.

VPS-Dimensionierung und Kosten

Bei stabilem Telegram-Traffic ist Gateway-RAM die Hauptgrenze. Der Agent-Container hält Modellkontext; Sandboxen kosten extra mit terminal.backend: docker. Platte wächst mit Sessions, Skills und Memories — Reserve vor Cron-Logs.

Die Tabelle zeigt vier Profile. Starten Sie mit Recommended bei Shell-Tools oder mehreren Admins; Budget lab nur für kurze Pairing-Tests.

Überwachen Sie docker stats hermes: dauerhafte RAM-Überschreitung der Compose-Grenze → zuerst RAM erhöhen, dann mehr Sandbox-Skills.

ProfilvCPURAMPlatteMonatlich typ.Einsatz
Minimum12 GB20 GB~4–5 $Nur Telegram-Gateway, kein Dashboard, ein Nutzer
Empfohlen24 GB40 GB~6–8 $Gateway + TERMINAL_BACKEND=docker Sandbox für Shell
Schwer2+8 GB60 GB~12+ $Dashboard, Cron, großer Skills-Baum, mehrere Admins
Budget-Lab11 GB15 GB~3–4 $Nur Smoke- und Pairing-Tests — nicht Produktion

Schritt-für-Schritt-Anleitung

  1. Docker auf dem VPS installieren — Ubuntu 22.04+: docker.io und docker-compose-v2 per apt, Nutzer in docker-Gruppe für compose ohne sudo.
    sudo apt update && sudo apt install -y docker.io docker-compose-v2
                    sudo usermod -aG docker $USER
                    newgrp docker
  2. Persistentes Datenverzeichnis anlegen — Geheimnisse, Sessions und Config liegen in ~/.hermes auf dem Host — vor Image-Upgrades sichern.
    mkdir -p ~/.hermes
  3. Interaktiven Setup-Assistenten einmal ausführen — nousresearch/hermes-agent pullen und ~/.hermes:/opt/data mounten, damit .env und config.yaml geschrieben werden.
    docker run -it --rm                   -v ~/.hermes:/opt/data                   nousresearch/hermes-agent setup
  4. Telegram-Bot und Allowlist erstellen — @BotFather für Token, @userinfobot für numerische User-ID. Standard lehnt Unbekannte ab — kein GATEWAY_ALLOW_ALL_USERS=true mit Terminal.
    TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz
                    TELEGRAM_ALLOWED_USERS=987654321
  5. DM-Pairing-Codes genehmigen (optional) — Ohne Vorab-Allowlist erhalten Unbekannte einen einstündigen Code; per pairing approve auf dem Host genehmigen.
    docker run --rm -v ~/.hermes:/opt/data nousresearch/hermes-agent pairing approve telegram XKGH5N7P
  6. gateway run im Vordergrund smoke-testen — gateway run interaktiv starten, /help senden, /model und /compress prüfen vor Produktion.
    docker run --rm -it                   -v ~/.hermes:/opt/data                   nousresearch/hermes-agent gateway run
  7. Mit Docker Compose deployen (Produktion) — restart: unless-stopped, bind-mount ~/.hermes:/opt/data, Memory/CPU-Limits gegen Ausuferung.
    services:
                      hermes:
                        image: nousresearch/hermes-agent:latest
                        container_name: hermes
                        restart: unless-stopped
                        command: gateway run
                        volumes:
                          - ~/.hermes:/opt/data
                        deploy:
                          resources:
                            limits:
                              memory: 4G
                              cpus: "2.0"
    docker compose up -d
                    docker logs -f hermes
  8. Terminalzugriff für Team-Bots härten — In config.yaml terminal.backend: docker, damit Shell-Tools in Sandbox statt Host-Kernel laufen.
    # ~/.hermes/config.yaml excerpt
                    terminal:
                      backend: docker
                      container_cpu: 1
                      container_memory: 5120
                      container_persistent: true

Fehlerbehebung

Bot antwortet nicht; Logs zeigen Telegram 401

Token in @BotFather neu erzeugen, TELEGRAM_BOT_TOKEN in ~/.hermes/.env aktualisieren, dann docker compose restart hermes. Häufigste Ursache nach Umbenennung oder Widerruf.

Nicht autorisierte Nachricht oder endloses Pairing

Persönliche numerische ID — nicht Bot-ID — in TELEGRAM_ALLOWED_USERS, oder pairing approve telegram <code>. Nur ein Gateway-Container soll ~/.hermes mounten.

Scoped Repo-Lesen, npm test und abgesicherte Auto-Fixes? Lesen Sie Hermes Agent MCP für Claude Opus 4.8: lokale Code-Sandbox 2026.

FAQ

Kann ich Hermes Docker auf einem Mac mini statt VPS betreiben?

Ja — dieselben docker run- und Compose-Muster funktionieren mit Docker Desktop oder Colima. VPS ist für Telegram-only 24/7 oft günstiger; Mac mini M4 für Apple-Toolchains.

Muss ich Port 8642 freigeben?

Nein für nur Telegram. 8642 nur für OpenAI-kompatible API oder externe Health-Checks mit API_SERVER_ENABLED=true und starkem API_SERVER_KEY.

Unterschied zu OpenClaw-Telegram-Leitfäden auf der Site?

OpenClaw-Artikel zielen auf Node.js-Gateways auf Cloud-Mac. Hermes nutzt hermes gateway mit nativen Telegram-Adaptern und Docker-Doku von Nous Research.

Welche Slash-Befehle zuerst testen?

Nach erster Antwort /status, /model, /compress, /new. Admin-Befehle eingeschränkt; Nutzer folgen der Allowlist.

Hermes lokal auf Cloud-Mac mini testen

Mieten Sie einen dauerhaft laufenden Mac mini M4, um Docker, Telegram-Pairing und Slash-Befehle zu prüfen, bevor Sie ~/.hermes auf den Produktions-VPS heben.

Agent-Staging auf Mac
Immer aktiv