Hermes Agent: Modos de Implantação
Última atualização: 2026-08-31
O modo de implantação determina onde o Hermes Agent roda — notebook local, contêiner Docker, servidor em nuvem ou cluster. Escolher o modo certo traz estabilidade e economia.
📋 Pré-requisitos: Lição 2 — Instalação, Lição 3 — Arquivos de Configuração
1. O Que Você Vai Aprender
| # | Conteúdo |
|---|---|
| ❶ | Comparação dos quatro modos de implantação |
| ❷ | Configuração do modo local |
| ❸ | Implantação Docker |
| ❹ | Implantação em servidor em nuvem |
| ❺ | Modo cluster e escalabilidade |
2. História
(1) Problema: Modo de Implantação Errado
Bob roda o Hermes localmente, mas ao desligar o computador o Agent fica offline. A equipe precisa de um Agent 24/7.
(2) Solução: Escolher a Implantação por Cenário
# Escolha da Alice:
# Desenvolvimento/debug → Modo local (econômico e prático)
# Uso da equipe → Docker no servidor (24/7 online)
# Alta concorrência → Modo cluster (escala horizontal)
3. Comparação dos Quatro Modos
| Dimensão | Local | Docker | Nuvem | Cluster |
|---|---|---|---|---|
| Uso | Pessoal | Equipe/PME | Média empresa | Grande escala |
| Uptime | Quando ligado | 24/7 | 24/7 | 24/7 |
| Escalabilidade | ❌ | ✅ Vertical | ✅ Vertical | ✅ Horizontal |
| Segurança de dados | ✅ Local | ✅ Local | ⚠️ Cloud | ⚠️ Distribuído |
| Custo | Grátis | Servidor | Cloud | Alto |
| Dificuldade Ops | ⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
4. Modo Local
(1) Instalação Local Padrão
pip install hermes-agent[all]
hermes serve --host 0.0.0.0 --port 8080
# Background (Linux/macOS)
nohup hermes serve &
# systemd (Linux)
cat > /etc/systemd/system/hermes.service << EOF
[Unit]
Description=Hermes Agent
After=network.target
[Service]
Type=simple
User=alice
WorkingDirectory=/home/alice
ExecStart=/usr/local/bin/hermes serve
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
systemctl enable hermes
systemctl start hermes
(2) Configuração do Modo Local
deployment:
mode: "local"
host: "0.0.0.0"
port: 8080
local_model:
enabled: true
provider: "ollama"
fallback_to_cloud: true
5. Implantação Docker
(1) Contêiner Único
docker pull nousresearch/hermes-agent:latest
docker run -d \
--name hermes \
-p 8080:8080 \
-v ~/.hermes:/root/.hermes \
-e OPENAI_API_KEY="${OPENAI_API_KEY}" \
--restart unless-stopped \
nousresearch/hermes-agent:latest
(2) Docker Compose (Recomendado)
version: "3.8"
services:
hermes:
image: nousresearch/hermes-agent:latest
container_name: hermes-agent
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./data:/root/.hermes
- ./projects:/root/projects
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- HERMES_MODEL_DEFAULT=gpt-4o
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
ollama:
image: ollama/ollama:latest
container_name: ollama
restart: unless-stopped
ports:
- "11434:11434"
volumes:
- ./ollama-data:/root/.ollama
deploy:
resources:
reservations:
devices:
- capabilities: ["gpu"]
web-ui:
image: nousresearch/hermes-web:latest
container_name: hermes-web
restart: unless-stopped
ports:
- "3000:3000"
environment:
- HERMES_API_URL=http://hermes:8080
6. Implantação em Servidor em Nuvem
(1) AWS
ssh ec2-user@your-instance
sudo yum install -y docker
sudo systemctl start docker
docker run -d \
-p 8080:8080 \
-v /data/hermes:/root/.hermes \
-e OPENAI_API_KEY="sk-..." \
--restart unless-stopped \
nousresearch/hermes-agent:latest
(2) Configuração de Segurança
security:
api:
auth_enabled: true
auth_type: "jwt"
jwt_secret: "${JWT_SECRET}"
rate_limit: 100
tls:
enabled: true
cert: "/etc/ssl/hermes.crt"
key: "/etc/ssl/hermes.key"
network:
allowed_origins:
- "https://your-domain.com"
blocked_ips: []
7. Modo Cluster
(1) Arquitetura
graph TB
LB[Load Balancer] --> W1[Worker 1]
LB --> W2[Worker 2]
LB --> W3[Worker 3]
W1 --> Redis[(Redis<br/>Memória Compartilhada)]
W2 --> Redis
W3 --> Redis
W1 --> DB[(PostgreSQL<br/>Armazenamento Persistente)]
W2 --> DB
W3 --> DB
W1 --> MQ[RabbitMQ<br/>Fila de Tarefas]
W2 --> MQ
W3 --> MQ
(2) Configuração do Cluster
version: "3.8"
services:
hermes-master:
image: nousresearch/hermes-agent:latest
environment:
- HERMES_ROLE=master
- HERMES_WORKERS=3
- REDIS_URL=redis://redis:6379
- DATABASE_URL=postgresql://hermes:pass@postgres:5432/hermes
depends_on:
- redis
- postgres
hermes-worker:
image: nousresearch/hermes-agent:latest
environment:
- HERMES_ROLE=worker
- REDIS_URL=redis://redis:6379
deploy:
replicas: 3
depends_on:
- redis
redis:
image: redis:7-alpine
volumes:
- redis-data:/data
postgres:
image: postgres:16-alpine
environment:
- POSTGRES_DB=hermes
- POSTGRES_USER=hermes
- POSTGRES_PASSWORD=pass
volumes:
- pg-data:/var/lib/postgresql/data
❓ Perguntas Frequentes
P: Qual modo para uso pessoal? R: Local. Simples, grátis, melhor privacidade. Considere Docker quando precisar de 24/7.
P: Docker ou instalação direta? R: Docker tem melhor isolamento e facilita migração/upgrade. Instalação direta é mais leve e com menor latência. Escolha conforme necessidade.
P: Dados na nuvem são seguros? R: API Keys criptografadas, TLS em trânsito, disco criptografado opcional. Mas dados estão na nuvem — para conformidade rigorosa, prefira local.
P: Quando preciso de cluster? R: Usuários concorrentes >50, requisições/minuto >100, necessidade de alta disponibilidade. Pequenas equipes não precisam.
P: Como monitorar status da implantação? R:
hermes status,/healthAPI,docker pspara Docker.
P: Como fazer upgrade suave? R: Docker é mais simples — pull nova imagem e reinicie. Local:
pip install --upgrade. Cluster: rolling upgrade.
📖 Resumo
- Quatro modos: Local (pessoal) → Docker (equipe) → Nuvem (empresa) → Cluster (grande escala)
- Modo local: custo zero, máxima privacidade, ideal para desenvolvimento e testes
- Docker Compose: deploy com um comando, incluindo Ollama e Web UI
- Nuvem requer hardening: autenticação, TLS, isolamento de rede
- Cluster usa Redis + PostgreSQL para memória compartilhada e alta disponibilidade
📝 Exercícios
- Básico (⭐): Inicie o Hermes em modo local, conecte Telegram, verifique estabilidade por 24 horas.
- Intermediário (⭐⭐): Use Docker Compose para deploy Hermes + Ollama, implemente inferência offline local.
- Avançado (⭐⭐⭐): Implante Hermes em servidor em nuvem, configure TLS e JWT, realize acesso remoto seguro.