Kumpulan masalah yang paling sering muncul saat menjalankan Hermes Agent + 9router + n8n + Graphify di VPS sendiri, beserta cara diagnosa dan fix-nya — disusun dari pengalaman langsung mengoperasikan stack ini.

Sebelum Mulai: Masalah Setup Dasar

Kalau masalah lo terkait UFW/Docker bypass firewall, container tidak bisa diakses dari luar, atau Telegram bot tidak merespons sama sekali setelah instalasi awal, cek dulu bagian troubleshooting di panduan instalasi Hermes Agent di VPS — kasus paling umum (Docker membuka port langsung meski sudah di-block UFW, dan reset password 9router) sudah dibahas detail di sana.

Artikel ini fokus ke masalah yang muncul setelah stack berjalan normal — saat sudah dipakai harian.

Hermes: Respons Lambat atau Timeout

Gejala: Hermes butuh waktu sangat lama untuk merespons, atau Telegram menunjukkan "sedang mengetik" terus tanpa hasil.

Kemungkinan sebab dan fix:

  • Model yang dipilih terlalu besar/lambat: cek konfigurasi model default di 9router — model reasoning besar (misal yang punya extended thinking) bisa makan puluhan detik. Kalau task tidak butuh reasoning dalam, pakai model yang lebih ringan.
  • Vault terlalu besar dimuat tiap request: kalau MEMORY.md atau file context lain sudah sangat panjang, setiap request memuat ribuan token sebelum proses mulai. Audit isi MEMORY.md, arsipkan yang sudah tidak relevan.
  • Rate limit provider LLM: cek log 9router (docker logs 9router) untuk error 429 — kalau kena rate limit, request akan retry dengan delay.

Hermes: Lupa Konteks atau Tidak Konsisten

Gejala: Hermes merespons seolah tidak tahu informasi yang sudah pernah disampaikan, atau persona/agent yang dipakai berubah-ubah tanpa diminta.

  • Cek urutan load file: kalau SOUL.md, USER.md, atau MEMORY.md ada error syntax (misal heading rusak), Hermes mungkin gagal parse file tersebut secara silent. Detail urutan load ada di artikel urutan load konteks.
  • File Agent-*.md tidak terbaca: pastikan path di SOUL.md sesuai dengan lokasi file aktual di vault — typo nama file bikin Kala tidak menemukan persona yang dimaksud. Lihat struktur Wayang System.
  • Vault belum sync: kalau edit MEMORY.md dari laptop tapi belum di-push ke GitHub, dan VPS belum pull, Hermes masih baca versi lama. Cek timestamp file di VPS vs laptop.

9router: Model Tidak Bisa Diakses

Gejala: request ke model tertentu selalu gagal dengan error "model not found" atau "provider error".

  • Cek nama model di config 9router sesuai persis dengan nama yang dipakai provider (termasuk prefix seperti anthropic/ atau openai/).
  • Cek API key provider masih valid dan punya kuota — provider sering mengirim email kalau kuota habis, tapi error di 9router kadang generic.
  • Restart 9router setelah ubah config: docker compose restart 9router — beberapa versi tidak hot-reload config.

n8n: Workflow Tidak Trigger

Gejala: workflow dengan cron trigger tidak jalan sesuai jadwal, atau webhook tidak menerima request.

  • Workflow tidak diaktifkan: di n8n, workflow harus toggle "Active" — workflow yang disimpan tapi tidak diaktifkan tidak akan trigger otomatis.
  • Timezone n8n berbeda: cek GENERIC_TIMEZONE di environment n8n — cron yang "jam 7 pagi" mungkin jalan di jam berbeda kalau timezone container default UTC.
  • Webhook URL salah: n8n self-hosted butuh WEBHOOK_URL di-set ke domain publik (lewat Caddy), bukan localhost — kalau tidak, URL webhook yang di-generate tidak bisa diakses dari luar.

n8n + Hermes: HTTP Request ke Hermes Gagal

Gejala: node HTTP Request di n8n yang memanggil Hermes return error connection refused atau 401.

  • Connection refused: pastikan n8n dan Hermes ada di network Docker yang sama, dan URL pakai nama service (http://hermes:8000), bukan localhost — dari dalam container, localhost merujuk ke container itu sendiri.
  • 401 Unauthorized: cek HERMES_API_KEY di environment n8n cocok dengan key yang dikonfigurasi di Hermes. Detail koneksi ada di artikel hybrid workflow.

Graphify: Graph Kosong atau Tidak Update

Gejala: setelah install Graphify, graph kosong, atau tidak bertambah meski ada catatan baru di vault.

  • Volume mount salah path: cek path vault di docker-compose Graphify sesuai dengan lokasi vault aktual — typo path umum terjadi kalau struktur folder berubah setelah setup awal.
  • Reindex belum jalan: Graphify tidak auto-index saat start. Jalankan manual sekali: docker exec graphify graphify reindex, baru cron incremental akan jalan untuk update berikutnya. Detail di artikel setup Graphify.
  • providers.json tidak terbaca: cek log Graphify untuk error koneksi ke 9router — kalau 9router down atau API key salah, ekstraksi gagal silent.

Caddy: SSL Error atau 502

  • 502 Bad Gateway: service di belakang Caddy tidak running atau nama service di Caddyfile salah. Cek docker compose ps dan cocokkan nama dengan reverse_proxy target.
  • SSL certificate gagal: Caddy butuh port 80 dan 443 terbuka ke internet untuk Let's Encrypt — cek UFW dan provider VPS (beberapa provider block port tertentu by default, perlu request unblock).

Disk Penuh Tiba-tiba

Penyebab paling umum: log Docker yang tidak di-rotate, atau image lama yang menumpuk. Cek dan bersihkan:

# Cek penggunaan disk per container log
docker ps -q | xargs docker inspect --format='{{.LogPath}}' | xargs du -sh

# Hapus image dan volume yang tidak terpakai
docker system prune -a --volumes

Setelah cleanup, pastikan logging limit sudah diset (lihat artikel maintenance) agar tidak berulang.

Kalau Semua Cara di Atas Tidak Berhasil

Urutan diagnosa umum: cek docker compose ps (semua container status "Up"?), cek docker logs <nama-container> --tail 50 untuk error spesifik, cek konektivitas antar container dengan docker exec <container> ping <service-lain>. Kalau masih buntu, restart service satu per satu (bukan docker compose down/up semua sekaligus) untuk isolasi mana yang bermasalah — restart total berisiko menyembunyikan root cause karena semua kembali "fresh" bersamaan.

Pertanyaan Umum

Kemungkinan sebab: model LLM yang dipilih terlalu besar untuk task sederhana, vault terlalu besar sehingga banyak token dimuat tiap request, atau kena rate limit provider LLM. Cek log 9router untuk error 429 dan audit ukuran MEMORY.md.

Biasanya karena file SOUL.md, USER.md, atau MEMORY.md punya error syntax yang gagal di-parse, vault belum sync terbaru dari GitHub, atau path file Agent-*.md di SOUL.md tidak sesuai lokasi aktual.

Cek apakah workflow sudah di-toggle 'Active', cek timezone container n8n (GENERIC_TIMEZONE) yang mungkin default UTC, dan untuk webhook pastikan WEBHOOK_URL di-set ke domain publik bukan localhost.

Cek docker compose ps untuk status semua container, lihat docker logs nama-container --tail 50 untuk error spesifik, cek konektivitas antar container dengan docker exec ping. Restart service satu per satu, jangan restart total, agar root cause tidak tersembunyi.

Butuh Bantuan Implementasi?

Saya membantu founder dan tim membangun sistem operasi yang bisa jalan tanpa pengawasan konstan.

Hubungi Saya