Cara Gampang Install Hermes Agent di Docker dan Sambungin ke Telegram Bot
Pernah kepikiran bikin asisten AI sendiri yang bisa diperintah ngoding, cari data di web, sampai ngeksekusi file langsung dari Telegram? Nah, dengan Hermes Agent, hal itu gampang banget direalisasikan. Lewat ekosistem Docker, kamu bisa ngejalanin agent pintar ini pakai model AI canggih kayak Kimi (Moonshot) dan di-remote full lewat bot Telegram.
Apa itu Hermes Agent?
Sebelum masuk ke teknis instalasinya, ada baiknya kamu paham dulu alasan di balik kombinasi teknologi yang digunakan. Hermes Agent sendiri adalah sistem autonomous AI agent buatan Nous Research yang dirancang untuk bekerja secara mandiri di server. Beda dari chatbot biasa yang cuma sekadar menjawab teks, Hermes dibekali kemampuan untuk mengeksekusi perintah terminal, mengelola file, melakukan browsing web, hingga menjalankan tugas-tugas teknis yang rumit. Dia juga punya sistem persistent memory dan skills yang bikin konteks instruksi kamu tetap tersimpan rapi meskipun server sempat di-restart.
Alasan utama memilih Hermes adalah fleksibilitasnya sebagai asisten pribadi yang bisa di-remote dari mana saja. Dengan menghubungkannya ke gateway seperti Telegram, kamu bisa memerintahkan AI ini untuk bekerja langsung di server VPS cukup lewat chatting dari HP. Hermes juga bersifat model agnostic, artinya kamu tidak terkunci pada satu penyedia AI dan bebas memilih "otak" mana yang mau dipakai.
Kenapa Install di Docker?
Menjalankan Hermes di dalam Docker juga bukan tanpa alasan. Karena Hermes punya akses untuk mengeksekusi perintah bash, menjalankannya di dalam container terisolasi (sandboxing) sangat penting demi menjaga keamanan OS utama VPS kamu. Selain itu, Docker membuat seluruh kebutuhan pustaka dan ketergantungan aplikasi terisolasi dengan rapi, serta memudahkan kamu menjalankan layanan ini secara otomatis 24/7 di background.
Yuk, langsung aja kita bahas cara setup Docker dari nol sampai jalan!
1. Persiapan Server & Install Docker
Pertama-tama, pastiin server atau VPS kamu udah up-to-date dan bersih. Jangan lupa juga buat install Docker pakai script resminya biar gampang, terus masukin user kamu ke grup docker biar nggak perlu ngetik sudo terus-terusan.
sudo apt update sudo apt upgrade sudo autoremove --purge curl -fsSL https://get.docker.com | sudo sh sudo usermod -aG docker $(whoami)
2. Setup Folder & File Konfigurasi
Kalau Docker udah siap, sekarang kita bikin folder khusus buat nyimpen file konfigurasinya. Masuk ke folder itu, terus copy file environment-nya buat kita modifikasi.
cd hermes-docker touch .env
Isi file .env kamu dengan settingan kayak gini. Di sini kita set zona waktu ke Jakarta dan ngebatesin pemakaian CPU sama RAM biar server nggak jebol.
TZ=Asia/Jakarta HERMES_IMAGE_TAG=latest HERMES_CPU_LIMIT=2.0 HERMES_MEMORY_LIMIT=2G
Biar data dari Hermes (kayak memory dan config) nggak hilang pas container di-restart, kita perlu bikin folder data buat nyimpen semuanya secara permanen.
mkdir -p data
Sekarang giliran bikin file docker-compose.yml. File ini ibarat resep masakan buat Docker biar dia tau gimana cara ngejalanin Hermes dengan bener. Tinggal copas aja kode di bawah ini.
services:
hermes:
image: nousresearch/hermes-agent:${HERMES_IMAGE_TAG:-latest}
container_name: hermes
restart: unless-stopped
command: gateway run
environment:
TZ: ${TZ:-Asia/Jakarta}
DELEGATION_MAX_CONCURRENT_CHILDREN: "3"
volumes:
- ./data:/opt/data
# Telegram uses outbound polling, so no public port is needed.
# Add a loopback-only port only if you later enable the API server:
# ports:
# - "127.0.0.1:8642:8642"
deploy:
resources:
limits:
cpus: "${HERMES_CPU_LIMIT:-2.0}"
memory: "${HERMES_MEMORY_LIMIT:-4G}"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
3. Eksekusi Hermes Setup Wizard
Udah siap semua filenya? Mantap! Sekarang saatnya kita masuk ke wizard interaktifnya Hermes buat mulai ngatur API dan integrasinya. Tinggal ketik perintah ini dan tunggu bentar.
docker compose run --rm hermes setup
Di pertanyaan pertama ini, Hermes bakal nanya mode setup apa yang mau dipakai. Pilih aja opsi Full setup supaya kita bisa bebas ngatur konfigurasi dan masukin API key sendiri.
How would you like to set up Hermes? ↑↓ navigate ENTER/SPACE select ESC cancel (●) Quick Setup (Nous Portal) — free OAuth login, no API keys, model + tools (recommended) → (○) Full setup — configure every provider, tool & option yourself (bring your own keys) (○) Blank Slate — everything off except the bare minimum; opt in to each capability
Buat otaknya (LLM), kita bakal percayain ke Kimi / Moonshot. Jadi, navigasiin aja panahnya ke opsi Kimi lalu tekan Enter. Untuk provider disini sebenernya bebas ya mau pilih apa, kalo kalian pakai provider lain tinggal sesuaikan.
Select provider: ↑↓ navigate ENTER/SPACE select ESC cancel (○) Nous Portal (Everything your agent needs, 300+ models with bundled tool use) (○) Fireworks AI (OpenAI-compatible direct model API) (○) OpenRouter (Pay-per-use API aggregator) (○) Mixture of Agents (named presets; aggregator acts after reference models) (○) NovitaAI (Cloud: Model API, Agent Sandbox, GPU Cloud) (○) LM Studio (Local desktop app with built-in model server) (○) Anthropic (Claude models via API key or Claude Code) (○) OpenAI ▸ (ChatGPT/Codex subscription or direct OpenAI API) (○) Qwen ▸ (Qwen Cloud / DashScope, Coding Plan, Token Plan & Qwen CLI OAuth) (○) xAI Grok ▸ (Direct API or SuperGrok / Premium+ OAuth) (○) Xiaomi MiMo (MiMo-V2.5 and V2 models: pro, omni, flash) (○) Tencent Hy ▸ (Hy4 / Hy3 via TokenHub & TokenPlan) (○) NVIDIA NIM (Nemotron models via build.nvidia.com or local NIM) (○) GitHub Copilot ▸ (GitHub token API or copilot --acp process) (○) Hugging Face Inference Providers (○) Google AI Studio (Native Gemini API) (○) Google Vertex AI (Gemini via GCP; OAuth2 service account or ADC, GCP billing/quotas) (○) DeepSeek (V3, R1, coder, direct API) (○) Z.AI / GLM (Zhipu direct API) → (●) Kimi / Moonshot ▸ (Coding Plan, Moonshot global & China endpoints) (○) StepFun Step Plan (Agent / coding models via Step Plan API) (○) MiniMax ▸ (Global, OAuth Coding Plan & China endpoints) (○) Ollama Cloud (Cloud-hosted open models, ollama.com) (○) Arcee AI (Trinity models, direct API) (○) GMI Cloud (Multi-model direct API)
Lanjut, pilih endpoint yang mau dipakai. Langsung aja pilih opsi Kimi / Kimi Coding Plan biar nyambung ke layanan utamanya.
Select Kimi / Moonshot provider: ↑↓ navigate ENTER/SPACE select ESC cancel ← previous → (●) Kimi / Kimi Coding Plan (○) Kimi / Moonshot (China)
Karena kita pengen model yang jago ngoding dan paham logika teknis, pilih kimi-k2.7-code sebagai model default-nya.
Select default model: ↑↓ navigate ENTER/SPACE select / search ESC cancel ← previous (○) kimi-k3 → (●) kimi-k2.7-code (○) kimi-k2.6 (○) kimi-k2.5 (○) kimi-for-coding (○) kimi-for-coding-highspeed (○) kimi-k2-thinking (○) kimi-k2-thinking-turbo (○) kimi-k2-turbo-preview (○) kimi-k2-0905-preview (○) Enter custom model name (○) Skip (keep current)
Hermes butuh tau di mana dia boleh ngeksekusi perintah terminal command. Pilih aja Keep current (local) biar jalannya tetep terisolasi di dalam container Docker yang sama.
Select terminal backend: ↑↓ navigate ENTER/SPACE select ESC cancel ← previous (○) Local - run directly on this machine (default) (○) Docker - isolated container with configurable resources (○) Modal - serverless cloud sandbox (○) SSH - run on a remote machine (○) Daytona - persistent cloud development environment (○) Vercel Sandbox - cloud microVM with snapshot filesystem persistence (○) Singularity/Apptainer - HPC-friendly container → (●) Keep current (local)
Nah, ini dia bagian pentingnya. Dari sekian banyak platform pesan yang disediain, cari opsi Telegram, terus tekan tombol Spasi (Space) buat ngasih tanda centang [✓] di situ.
Select platforms to configure: ↑↓ navigate SPACE toggle ENTER confirm ESC cancel ← previous [ ] 💬 Mattermost (not configured) ................. [ ] 🎮 Discord (not configured) [ ] 📧 Email (not configured) [ ] 🪽 Feishu / Lark (not configured) [ ] 💬 Google Chat (not configured) [ ] 🏠 Home Assistant (not configured) [ ] 💬 IRC (not configured) [ ] 💚 LINE (not configured) [ ] 🔐 Matrix (not configured) [ ] 🔔 ntfy (not configured) [ ] 📱 iMessage via Photon (not configured) [ ] 🔔 Raft (not configured) [ ] 🔒 SimpleX Chat (not configured) [ ] 💼 Slack (not configured) [ ] 📱 SMS (Twilio) (not configured) [ ] 💼 Microsoft Teams (not configured) → [✓] ✈️ Telegram (not configured) [ ] 💼 WeCom (Enterprise WeChat) (not configured) [ ] 💼 WeCom Callback (self-built apps) (not configured) [ ] 💬 WhatsApp (not configured) ............
Selanjutnya, Hermes bakal nanya gimana cara kamu mau bikin bot Telegram-nya. Ketik angka 2 buat pilih cara bikin bot manual.
Telegram
How would you like to create your Telegram bot?
[1] Automatic (recommended)
Scan a QR code → confirm in Telegram → done.
No token copy-paste needed.
[2] Manual
Create a bot via @BotFather yourself and paste the token.
Choice [1/2] [1]: 2
Sekarang buka aplikasi Telegram kamu, cari bot bernama @BotFather, terus ketik /newbot buat nyetak bot baru.
/newbot
Pas kamu udah dapet bot token-nya dari BotFather, paste aja langsung di terminal. Biar aman dan bot kamu nggak di-hijack atau dimainin orang asing, chat @userinfobot di Telegram buat ngedapetin ID numerik kamu. Masukin ID itu di bagian Allowed user IDs.
Choice [1/2] [1]: 2
Create a bot via @BotFather on Telegram
Telegram bot token: **********************************************
✓ Telegram token saved
🔒 Security: Restrict who can use your bot
To find your Telegram user ID:
1. Message @userinfobot on Telegram
2. It will reply with your numeric ID (e.g., 123456789)
Allowed user IDs (comma-separated, leave empty for open access): *******
Di tahap ini, kamu bisa nentuin tools atau skill apa aja yang aktif pas kamu lagi pakai versi CLI. Centang aja fitur-fitur esensial kayak Web Search, Browser Automation, File Operations, sampai Computer Use.
Tools for 🖥️ CLI ↑↓ navigate SPACE toggle ENTER confirm ESC cancel ← previous [✓] 🔍 Web Search & Scraping (web_search, web_extract) [✓] 🌐 Browser Automation (navigate, click, type, scroll) [✓] 💻 Terminal & Processes (terminal, process) [✓] 📁 File Operations (read, write, patch, search) [✓] ⚡ Code Execution (execute_code) [✓] 👁️ Vision / Image Analysis (vision_analyze) [no API key] [ ] 🎬 Video Analysis (video_analyze (requires video-capable model)) [ ] 🎨 Image Generation (image_generate) [ ] 🎬 Video Generation (video_generate (text/image/reference)) [ ] 🐦 X (Twitter) Search (x_search (requires xAI OAuth or XAI_API_KEY)) [ ] 🔊 Text-to-Speech (text_to_speech) [✓] 📚 Skills (list, view, manage) [✓] 📋 Task Planning (todo_list) [✓] 💾 Memory (persistent memory across sessions) [ ] 🧩 Context Engine (runtime tools from the active context engine) [✓] 🔎 Session Search (search past conversations) [✓] ❓ Clarifying Questions (clarify) [✓] 👥 Task Delegation (delegate_task) [✓] ⏰ Cron Jobs (create/list/update/pause/resume/run, with optional attached skills) [ ] 🏠 Home Assistant (smart home device control) [no API key] [ ] 🎵 Spotify (playback, search, playlists, library) [ ] 🤖 Yuanbao (group info, member queries, DM) → [✓] 🖱️ Computer Use (macOS/Windows/Linux) (background desktop control via cua-driver) [ ] 🔌 A2A (A2A (Agent-to-Agent) protocol v1.0 support for Hermes Agent — both directions of the open Linux Foundation standard for inter-agent communication. .............
Buat urusan browsing otomatisnya si agent, pilih Camofox. Tenang aja, buat instalasi tools ini bisa kita setup belakangan (cek GitHub jo-inc/camofox-browser).
Choose a provider: ↑↓ navigate ENTER/SPACE select ESC cancel ← previous → (○) Local Browser [★ recommended · free] — Headless Chromium, no API key needed (○) Lightpanda [free · local · no Chromium] — Zig headless browser spawned by Hermes, text-only (no screenshots) (○) Nous Subscription (Browser Use cloud) [subscription] — Managed Browser Use billed to your subscription ★ via Nous Portal (login on select) (●) Camofox [free · local] — Anti-detection browser (Firefox/Camoufox) (○) Browser Use [free · local · cloud] — New SOTA web harness (CLI 3.0) [active] (○) Browserbase [paid] — Cloud browser with stealth and proxies (○) Firecrawl [paid] — Cloud browser with remote execution (○) Skip — keep defaults / configure later
Biar Hermes bisa ngenalin gambar (vision analysis), set aja opsinya ke Auto biar dia milih mode secara otomatis menyesuaikan model utama.
Configure vision backend ↑↓ navigate ENTER/SPACE select ESC cancel ← previous → (●) Auto — use your main model / aggregator fallback (recommended) (○) Pick a provider and model (○) Custom OpenAI-compatible endpoint — base URL, API key, model (○) Skip
Kalau ditanya soal search provider, pilih aja opsi Skip buat ngelewatin dulu. Nanti kamu bisa setup Firecrawl (self-hosted atau API) kalau emang butuh scraping yang lebih berat.
Select Search Provider: ↑↓ navigate ENTER/SPACE select ESC cancel ← previous (●) Nous Subscription [subscription] — Managed Firecrawl billed to your subscription ★ via Nous Portal (login on select) (○) Firecrawl Self-Hosted [free · self-hosted] — Run your own Firecrawl instance (Docker) (○) Brave Search (Free) [free] — Free-tier API key — 2k queries/mo, search only. (○) DuckDuckGo (ddgs) [free · no key · search only] — Search via the ddgs Python package — no API key (pair with any extract provider) (○) Exa · Free (keyless) [free · no key] — Semantic + neural web search with content extraction on Exa's anonymous free tier. Rate-limited under burst load. (○) Exa · Paid (API key) [paid] — Semantic + neural web search with content extraction via the Exa SDK. Unthrottled, guaranteed service. (○) Firecrawl [keyless/paid · optional gateway] — Full search + extract; supports keyless cloud, direct API, and Nous tool-gateway routing. (○) Keenable · Free (keyless) [free · no key] — Independent web index for AI apps — fast search + page fetch on Keenable's anonymous free tier. (○) Keenable · Paid (API key) [paid] — Independent web index for AI apps. Keyed access with higher limits and guaranteed service. (○) Parallel · Free (keyless) [free · no key] — Objective-tuned search + page extraction on Parallel's anonymous free tier. Rate-limited under burst load. (○) Parallel · Paid (API key) [paid] — Objective-tuned search + parallel page extraction via the Parallel SDK. Unthrottled, guaranteed service. (○) SearXNG [free · self-hosted] — Free, privacy-respecting metasearch. Point SEARXNG_URL at your instance. (○) Tavily [free · key optional] — Search + extract. Opt-in keyless; set TAVILY_API_KEY for higher limits. (○) xAI Web Search (Grok) [paid] — Agentic web search via Grok's web_search tool — uses xAI Grok OAuth or XAI_API_KEY. → (○) Skip — keep defaults / configure later
Hampir sama persis kayak setup buat CLI tadi, kali ini kamu nentuin tools apa aja yang bakal jalan kalau asisten ini nerima perintah dari chat Telegram. Samain aja centangannya kayak sebelumnya.
Tools for 📱 Telegram ↑↓ navigate SPACE toggle ENTER confirm ESC cancel ← previous → [✓] 🔍 Web Search & Scraping (web_search, web_extract) [✓] 🌐 Browser Automation (navigate, click, type, scroll) [✓] 💻 Terminal & Processes (terminal, process) [✓] 📁 File Operations (read, write, patch, search) [✓] ⚡ Code Execution (execute_code) [✓] 👁️ Vision / Image Analysis (vision_analyze) [no API key] [ ] 🎬 Video Analysis (video_analyze (requires video-capable model)) [ ] 🎨 Image Generation (image_generate) [ ] 🎬 Video Generation (video_generate (text/image/reference)) [ ] 🐦 X (Twitter) Search (x_search (requires xAI OAuth or XAI_API_KEY)) [ ] 🔊 Text-to-Speech (text_to_speech) [✓] 📚 Skills (list, view, manage) [✓] 📋 Task Planning (todo_list) [✓] 💾 Memory (persistent memory across sessions) [ ] 🧩 Context Engine (runtime tools from the active context engine) [✓] 🔎 Session Search (search past conversations) [✓] ❓ Clarifying Questions (clarify) [✓] 👥 Task Delegation (delegate_task) [✓] ⏰ Cron Jobs (create/list/update/pause/resume/run, with optional attached skills) [ ] 🏠 Home Assistant (smart home device control) [no API key] [ ] 🎵 Spotify (playback, search, playlists, library) [ ] 🤖 Yuanbao (group info, member queries, DM) [✓] 🖱️ Computer Use (macOS/Windows/Linux) (background desktop control via cua-driver) [ ] 🔌 A2A (A2A (Agent-to-Agent) protocol v1.0 support for Hermes Agent — both directions of the open Linux Foundation standard for inter-agent communication.
Sama persis kayak tahap CLI, untuk vision backend di Telegram langsung arahin ke opsi Auto aja biar praktis.
Configure vision backend ↑↓ navigate ENTER/SPACE select ESC cancel ← previous → (●) Auto — use your main model / aggregator fallback (recommended) (○) Pick a provider and model (○) Custom OpenAI-compatible endpoint — base URL, API key, model (○) Skip
Sip! Kalau semua udah beres, terminal bakal nampilin pesan kalau konfigurasi udah siap digunakan. Di sini bakal dikasih tau juga cara ngedit config-nya (kayak buka file config.yaml) kalau suatu saat kamu butuh ganti settingan.
📝 To edit your configuration:
hermes setup Re-run the full wizard
hermes setup model Change model/provider
hermes setup terminal Change terminal backend
hermes setup gateway Configure messaging
hermes setup tools Configure tool providers
hermes config View current settings
hermes config edit Open config in your editor
hermes config set <key> <value>
Set a specific value
Or edit the files directly:
nano /opt/data/config.yaml
nano /opt/data/.env
────────────────────────────────────────────────────────────
🚀 Ready to go!
hermes Start chatting
hermes gateway Start messaging gateway
hermes doctor Check for issues
4. Test & Jalanin Agent di Background
Eits, jangan buru-buru ditinggal! Kita perlu ngetes dulu apakah semuanya (dependencies dan tools) udah jalan normal atau ada error. Coba tes kesehatan sistem dan jalannya CLI pakai dua perintah ini:
docker compose run --rm hermes doctor docker compose run --rm hermes hermes
Habis itu, pastiin juga koneksi bot Telegram kamu ngerespons dengan baik pakai perintah gateway. Coba buka Telegram dan say "Hi" ke bot-mu.
docker compose run --rm hermes gateway
Kalau bot di Telegram udah bales dengan lancar (tekan Ctrl + C untuk berhentiin tes), sekarang waktunya ngebiarin asisten AI ini jalan secara permanen di background. Tinggal eksekusi perintah sakti Docker ini:
docker compose up -d
Selesai deh! Mulai detik ini, kamu udah punya asisten AI tangguh yang standby 24 jam langsung dari Telegram kamu.



Posting Komentar untuk "Cara Gampang Install Hermes Agent di Docker dan Sambungin ke Telegram Bot"
Posting Komentar
Silahkan tinggalkan komentar jika ada masukan, pertanyaan, kritik ataupun dukungan. Namun pastikan untuk berkomentar secara sopan.