Để vận hành Hermes Agent an toàn, Docker chính là môi trường triển khai lý tưởng, giúp cách ly tiến trình và giới hạn quyền truy cập vào hệ thống máy chủ. Tuy nhiên, có một điều bạn cần biết ngay từ đầu đó là Hermes Agent không được phân phối dưới dạng Docker image độc lập. Vậy Docker liên quan đến Hermes theo cách nào? Cùng Tino tìm hiểu cách cài đặt Hermes Agent trên Docker qua bài viết dưới đây nhé!
Vai trò của Docker trong Hermes Agent
Trước khi bắt tay vào cài đặt, cần nắm rõ kiến trúc để không bị nhầm lẫn trong quá trình cấu hình.
Hermes Agent là một ứng dụng Python cài trực tiếp trên hệ thống Linux, macOS, WSL2 hoặc Android Termux. Trong khi đó, Docker được tích hợp vào Hermes như một terminal backend — môi trường sandbox an toàn để Hermes thực thi các lệnh terminal bên trong container cô lập, thay vì chạy thẳng trên hệ thống chính.
Không dùng Docker backend (mặc định):
Bạn nhắn tin → Hermes nhận lệnh → Hermes chạy lệnh terminal TRỰC TIẾP trên VPS.
Cách này hoạt động bình thường nhưng tiềm ẩn rủi ro: nếu Hermes thực thi nhầm một lệnh nguy hiểm, hậu quả tác động thẳng lên hệ thống.

Khi dùng Docker backend:
Bạn nhắn tin → Hermes nhận lệnh → Hermes tạo container Docker tạm thời → Chạy lệnh bên trong container → Lấy kết quả → Xóa container.
Với cấu hình Docker backend, mỗi lần Hermes cần thực thi lệnh terminal, một container tạm thời được tạo ra, lệnh chạy bên trong đó trong môi trường cô lập, rồi container bị xóa ngay sau khi hoàn thành. Nếu lệnh gây ra sự cố, chỉ container đó bị ảnh hưởng, hệ thống chính của VPS hoàn toàn an toàn.
Cách cài đặt Hermes Agent trên Docker
Yêu cầu trước khi bắt đầu
- VPS chạy Ubuntu 22.04 hoặc 24.04 với quyền sudo
- Tối thiểu 2GB RAM — khuyến nghị 4GB khi dùng Docker backend song song
- Kết nối SSH đang hoạt động
- API key của nhà cung cấp mô hình AI (Anthropic, OpenAI, OpenRouter hoặc tương tự)
Bước 1 — Cài đặt Hermes Agent
Nếu chưa có Hermes trên VPS, cài trước bằng lệnh một dòng:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git wget build-essential
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc

Kiểm tra cài thành công:
hermes --version
Sau khi cài Hermes, bạn sẽ được yêu cầu cấu hình. Thực hiện cấu hình theo hướng dẫn từ bài viết: Cách cài đặt và sử dụng Hermes Agent trên VPS từ A đến Z.

Hoặc bạn có thể nhấn Ctrl + C để bỏ qua bước cấu hình và tiến hành cài Docker.
Trong trường hợp VPS đã có Hermes rồi, bạn sẽ tiến thẳng vào bước cài Docker.
Bước 2 — Cài đặt Docker trên VPS
Thêm repository chính thức của Docker:
sudo apt install -y ca-certificates curl gnupg lsb-release
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Cài Docker Engine:
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Khởi động Docker và bật tự khởi động:
sudo systemctl start docker
sudo systemctl enable docker
Thêm user hiện tại vào group Docker để chạy lệnh Docker không cần sudo:
sudo usermod -aG docker $USER
newgrp docker
Kiểm tra Docker đã hoạt động:
docker --version
docker run hello-world
Nếu thấy thông báo Hello from Docker! — Docker đã sẵn sàng.

Bước 3 — Cấu hình Docker làm terminal backend cho Hermes
Đây là bước cốt lõi của toàn bộ bài hướng dẫn. Chỉ cần một lệnh:
hermes config set terminal.backend docker

Vậy là xong, Hermes sẽ tự động dùng Docker để thực thi tất cả lệnh terminal từ lần chạy tiếp theo.
Bước 4 — Cấu hình mô hình AI (nếu chưa làm)
Nếu ở bước 1 bạn bỏ qua bước cấu hình AI thì giờ hãy dùng lệnh sau:
hermes model
Màn hình điều khiển sẽ hiển thị danh sách các nhà cung cấp dịch vụ. Hãy sử dụng phím mũi tên để di chuyển và nhấn chọn Provider bạn có API Key.

Tino sẽ sử dụng Google AI Studio để làm ví dụ.
Khi hệ thống yêu cầu cấu hình khóa bảo mật, hãy dán chuỗi API Key của Google vào dòng GOOGLE_API_KEY. Tại phần Base URL, bạn chỉ cần nhấn phím Enter để giữ nguyên đường dẫn mặc định.

Cuối cùng, hệ thống sẽ yêu cầu chọn mô hình xử lý. Các mô hình khác nhau sẽ cho tốc độ xử lý khác nhau:

Bước 5 — Thiết lập cổng kết nối kênh nhắn tin (tùy chọn bổ sung)
Nếu bạn có nhu cầu sử dụng Hermes Agent qua các kênh nhắn tin như Telegram, hãy nhập lệnh sau để bắt đầu cấu hình:
hermes gateway setup

Sử dụng phím mũi tên để di chuyển và chọn Telegram trong danh sách các nền tảng hỗ trợ.

- Mở ứng dụng Telegram trên thiết bị cá nhân, tìm kiếm tài khoản @BotFather và gửi lệnh /newbot để tạo một bot mới. Sau khi hoàn tất các bước đặt tên, BotFather sẽ cung cấp một đoạn mã bảo mật gọi là Bot token.
- Chuyển sang tìm kiếm tài khoản @userinfobot trên Telegram để lấy dải số User ID cá nhân.
Quay lại cửa sổ dòng lệnh của máy chủ, dán mã Bot token vào.
Tại mục Allowed user IDs, hãy điền dải số User ID vừa lấy được.

Nhấn Enter để đặt User ID làm Home channel. Mọi thông báo hệ thống hoặc các báo cáo định kỳ sẽ được gửi thẳng vào tin nhắn riêng.

Gõ y và nhấn Enter để tiếp tục.

Chọn Done.

Tiếp theo, gõ y và nhấn Enter.

Sau đó, chọn cài đặt gateway dưới dạng dịch vụ nền User service và đồng ý kích hoạt tính năng Linger.

Tính năng này đóng vai trò mấu chốt giúp tiến trình nhắn tin luôn duy trì trạng thái trực tuyến 24/7, ngay cả khi người quản trị đóng kết nối SSH với máy chủ.
Gõ y và nhấn Enter ở bước cuối cùng để khởi động dịch vụ ngay lập tức.

Bước 6 — Kiểm tra Docker backend hoạt động
Khởi động Hermes và thực hiện một tác vụ yêu cầu chạy lệnh terminal:
hermes

Thử yêu cầu:
❯ Kiểm tra dung lượng ổ đĩa hiện tại và liệt kê 5 thư mục lớn nhất.

Khi Docker backend đang hoạt động đúng, bạn sẽ thấy Hermes tạo container, thực thi lệnh, rồi trả về kết quả. Toàn bộ quá trình thường mất thêm một ít thời gian so với chạy trực tiếp, đây là thời gian khởi tạo container.
Để xác nhận lệnh thực sự đang chạy trong Docker, bạn mở một tab SSH khác và nhập lệnh:
watch docker ps

(Mẹo: Sử dụng lệnh watch -n 2 docker ps để hệ thống tự động làm mới kết quả mỗi 2 giây).
Kết luận
Nếu bạn đang vận hành Hermes trên VPS kết hợp với gateway Telegram, việc bật Docker backend là bước nâng cấp bảo mật quan trọng nhất. Mặc dù mất thêm vài giây khởi tạo container mỗi lần thực thi lệnh nhưng đổi lại là sự yên tâm rằng mọi thao tác đều được cô lập an toàn. Chúc bạn thành công!
Những câu hỏi thường gặp
Hermes Agent có thể chạy hoàn toàn bên trong một Docker container không?
Về mặt kỹ thuật, một số người dùng đã thử nghiệm cách đóng gói Hermes vào container thủ công, nhưng đây không phải cách được hỗ trợ chính thức. Hermes Agent không được phân phối dưới dạng Docker image vì đây là ứng dụng Python cài trực tiếp trên hệ thống Linux, macOS, WSL2 hoặc Android Termux. Nếu bạn cần môi trường cô lập, cách chính thức là cài Hermes trên hệ thống host rồi cấu hình Docker làm terminal backend. Đây là kiến trúc được thiết kế và kiểm thử kỹ lưỡng hơn nhiều.
Docker backend có tự động xóa container sau khi thực thi lệnh xong không?
Có. Mỗi container được tạo ra chỉ để thực thi một tác vụ cụ thể và bị xóa ngay sau khi hoàn thành — không để lại container zombie tích tụ theo thời gian.
Bạn có thể xác nhận điều này bằng cách mở một tab SSH khác và chạy watch docker ps trong khi Hermes đang xử lý tác vụ, bạn sẽ thấy container xuất hiện rồi biến mất trong vài giây.
Nếu lệnh terminal chạy trong Docker gây ra lỗi nghiêm trọng, VPS có bị ảnh hưởng không?
Không, đây chính là lý do cốt lõi để dùng Docker backend. Khi một lệnh gây ra sự cố bên trong container như xóa nhầm file, làm crash tiến trình, hay thậm chí làm hỏng toàn bộ môi trường bên trong container, chỉ container đó bị ảnh hưởng. Hệ thống chính của VPS hoàn toàn nguyên vẹn vì container là môi trường cô lập hoàn toàn. Container bị xóa, Hermes tạo container mới cho lệnh tiếp theo và tiếp tục hoạt động bình thường.
VPS cần bao nhiêu RAM để chạy Hermes Agent kết hợp với Docker backend?
Khuyến nghị tối thiểu 2GB RAM, lý tưởng là 4GB trở lên. Docker daemon bản thân chiếm khoảng 200 đến 300MB RAM khi chạy nền. Mỗi container tạm thời thêm khoảng 50 đến 150MB tùy image và tác vụ. Hermes Agent và gateway chiếm thêm khoảng 300 đến 500MB. Trên VPS 1GB RAM, hệ thống có thể hoạt động nhưng sẽ chạm giới hạn memory khi xử lý các tác vụ nặng, dễ gây lỗi OOM (Out of Memory) không rõ nguyên nhân.
