Skip to main content

Triển khai (Docker, remote, serverless)

Từ laptop tới VPS $5, cụm GPU, hay serverless hibernate khi rảnh. Trang này gom các đường triển khai và những điểm cần chú ý về quyền, volume và cập nhật.

1. Chọn mô hình triển khai​

Hoàn cảnhChọn
Máy cá nhân, tương tácCài native (Tài liệu 03)
Máy chủ riêng, muốn cô lậpDocker Compose
Máy khoẻ ở xa, máy bạn chỉ là terminalBackend SSH
Không muốn giữ máy chạy 24/7Modal / Daytona (hibernate khi rảnh)
Môi trường HPC không rootSingularity
Cần sandbox tạm thờiVercel Sandbox

2. Docker / Docker Compose​

# từ checkout source
HERMES_UID=$(id -u) HERMES_GID=$(id -g) docker compose up -d

Ý nghĩa các thành phần trong docker-compose.yml:

Thành phầnVai trò
HERMES_UID/HERMES_GIDRemap user trong container theo user sở hữu ~/.hermes để file vẫn đọc/ghi được trên host
volume ~/.hermes:/opt/dataDữ liệu bền nằm trên host
network_mode: hostGateway dùng mạng host (đơn giản hoá mở cổng)
restart: unless-stoppedTự khởi động lại
/init (s6-overlay)PID 1: chạy cont-init.d (chown, reconcile profile, bật/tắt dashboard) rồi mới tới service

An toàn. Dashboard mặc định bind 127.0.0.1 và lưu API key. Muốn truy cập ngoài: SSH tunnel hoặc reverse proxy có xác thực — không dùng --insecure --host 0.0.0.0. Nếu override entrypoint, giữ /init đầu tiên, nếu không gateway sẽ không chạy đúng.

Mở API server (OpenAI-compatible) cần API_SERVER_HOST + API_SERVER_KEY. Google Chat cần mount file service-account JSON vào container rồi trỏ biến tới mount path.

3. Backend terminal từ xa​

Tool terminal có thể chạy trên 7 backend. Điều này tách "nơi agent chạy" khỏi "nơi lệnh thực thi". Với backend từ xa, cân nhắc bật egress proxy để chèn credential thay vì để secret nằm trong sandbox:

hermes egress # trạng thái egress proxy (mặc định tắt)

4. VPS & luôn-trực​

  • Chạy gateway trong Docker để tự khởi động lại và cô lập.
  • Dùng hermes gateway setup nối Telegram/Slack… để điều khiển từ xa.
  • Đặt hermes cron cho báo cáo/backup định kỳ.
  • Bật allowlist & pairing cho gateway — agent có quyền shell.
  • hermes backup định kỳ (hoặc cron) để sao lưu ~/.hermes.

5. Serverless (Modal/Daytona)​

Modal và Daytona cung cấp persistence serverless: môi trường của agent hibernate khi rảnh và thức dậy khi có yêu cầu — gần như không tốn phí giữa các phiên. Hợp với tác vụ thưa (vài lần/ngày) nhưng cần máy khoẻ khi chạy.

6. Cập nhật & vòng đời​

Cách càiCập nhật
Source scripthermes update
Desktop bundleCơ chế tự cập nhật của app
DockerKhông hỗ trợ hermes update — chạy image mới
NixNix sở hữu runtime & cập nhật
hermes backup # sao lưu trước khi nâng cấp
hermes import # phục hồi
hermes migrate # nâng cấp config qua các thay đổi schema
hermes doctor # chẩn đoán sau nâng cấp

Trước khi nâng cấp. Đọc developer-guide/stable-releases.md; sao lưu ~/.hermes; ghi lại các thay đổi cục bộ. Sau nâng cấp chạy hermes doctor và một chat thật để xác minh.

Nguồn. docker-compose.yml, Dockerfile, website/docs/user-guide/docker.md, getting-started/updating.md, developer-guide/stable-releases.md.