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.

💡 Dica: O Hermes suporta quatro modos: local standalone, Docker, servidor em nuvem e cluster. Pessoas físicas recomendam local; equipes recomendam Docker ou nuvem.

📋 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

BASH
# 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

BASH
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

YAML
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

BASH
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)

YAML
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

BASH
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

YAML
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

100%
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

YAML
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, /health API, docker ps para Docker.

P: Como fazer upgrade suave? R: Docker é mais simples — pull nova imagem e reinicie. Local: pip install --upgrade. Cluster: rolling upgrade.


📖 Resumo


📝 Exercícios

  1. Básico (⭐): Inicie o Hermes em modo local, conecte Telegram, verifique estabilidade por 24 horas.
  2. Intermediário (⭐⭐): Use Docker Compose para deploy Hermes + Ollama, implemente inferência offline local.
  3. Avançado (⭐⭐⭐): Implante Hermes em servidor em nuvem, configure TLS e JWT, realize acesso remoto seguro.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%