Acervo · Infra

Um agente que dorme junto com o seu notebook não é um agente.

Onde hospedar o Hermes — inclusive de graça —, como fechar a máquina antes de pôr um agente autônomo nela, como abrir o painel sem expor uma porta na internet e o que precisa estar configurado para tudo voltar sozinho depois de um reboot.

Consolidado dos materiais que a turma trocou em agosto · substitua todo IP, usuário e senha de exemplo

00 · Regra zero

Não instale no computador de trabalho

Um agente com autonomia alta mexe em arquivo, roda comando e usa credencial. A VPS existe para ele ter um lugar isolado onde possa errar sem levar o seu ambiente junto. Três peças, três funções distintas — e é aqui que quase todo mundo se confunde.

Peça 01

A VPS

Um computador alugado, ligado 24 horas, sem tela. É o lugar onde o agente mora. Você conversa com ele por comando, não por mouse.

Peça 02

O Hermes Agent

O programa que roda dentro dela. É ele que pensa, executa, guarda memória e dispara rotina sozinho. Esse é o agente.

Peça 03

O canal

Telegram, no caso — porque tem bot oficial e gratuito, sem gambiarra. É por onde você fala com o agente do celular, de qualquer lugar.

A confusão nº 1

Hermes Desktop não é o Hermes da VPS

O Desktop é um app no seu computador e, por padrão, controla um Hermes local. Ele só vira a janela do agente remoto depois que você aponta o gateway para a VPS. Configuração colada no Desktop desconectado vai parar no agente errado — e o sintoma é "colei o token e nada acontece".

01 · Decisão

Onde rodar

Três caminhos que a turma testou. Mudam o preço e a facilidade da instalação — a partir da blindagem, tudo é idêntico.

Opção Sistema Instalação Pegadinha
Hostinger
KVM 2, pago
Ubuntu 24.04 LTS Instalador guiado — formulário web, dois minutos O instalador é exclusivo da Hostinger. E ele pede a senha root num site: troque a senha depois.
HostGator
VPS simples, pago
Ubuntu 22.04 LTS Pack de instalação entregue a um agente de IA com terminal Não faz backup de VPS — o backup é seu. Não escolha AlmaLinux nem Rocky: os comandos aqui são família Debian.
Oracle Free Tier
grátis, permanente
Ubuntu 24.04 ARM
2 OCPU · 12 GB
Manual, pelo mesmo pack Arquitetura ARM: confira se cada imagem Docker que você usa tem arm64. E a capacidade acaba (veja abaixo).
Sempre

VPS zerada, sem exceção

Recém-criada, sem painel, sem aplicação pré-instalada, sem outro agente. Instalar em máquina suja é a causa mais comum de falha na validação — e o erro não diz isso. Se já usou, reinstale o sistema pelo painel.

Anote

Os cinco dados

IP da VPS · senha root · token do bot · seu ID do Telegram · usuário e senha do painel. Junte os cinco no mesmo lugar antes de começar. Nenhum deles pode circular em grupo, print ou e-mail.

02 · Custo zero

A VPS gratuita da Oracle

O Always Free da Oracle Cloud entrega hoje, para conta nova, até 2 OCPUs ARM com 12 GB de RAM e 200 GB de disco compartilhado — permanente, não é trial de 30 dias. É folgado para Hermes, n8n, bots e APIs pequenas. Em troca, tem três armadilhas que derrubam quem não sabe.

Armadilha 01

A região é definitiva

Recurso Always Free só existe na região principal escolhida no cadastro, e ela não muda depois. No Brasil são duas: São Paulo (sa-saopaulo-1) e Vinhedo (sa-vinhedo-1).

Armadilha 02

"Out of capacity"

As máquinas ARM gratuitas vivem lotadas, e a Oracle não mostra qual região está livre. Isso não é erro seu. Tente de novo horas depois, ou com 1 OCPU e 6 GB. Não migre para Pay As You Go só para conseguir capacidade: você perde a proteção contra cobrança acidental.

Armadilha 03

Ociosidade recupera a máquina

A Oracle pode retomar uma instância considerada ociosa por sete dias — CPU, rede e memória abaixo do limite. Um agente que só responde no Telegram de vez em quando passa perto disso. Deixe rotina periódica rodando.

No cadastro

  • — Cartão de crédito internacional físico. Virtual, pré-pago e descartável costumam ser recusados.
  • — Autorização temporária de cerca de US$ 1. Não vira cobrança sem upgrade voluntário.
  • — VPN e bloqueador de anúncio desligados; endereço exatamente como no cadastro do cartão.
  • — Uma conta por pessoa. Tentar com vários e-mails aciona o antifraude.

Na criação da instância

  • Compute → Instances → Create instance.
  • — Shape: Ampere · VM.Standard.A1.Flex, com o selo Always Free Eligible visível. Nada de A2, E4, E5, Intel ou GPU.
  • — 2 OCPUs, 12 GB, VCN nova com IP público. Disco de boot mínimo de 47 GB.
  • — SSH Keys: Generate a key pair for me, e guarde a chave privada. Ela é a chave da casa — não vai para GitHub, WhatsApp nem prompt de IA.
# conectar depois que a instância ficar verde (Running) # Ubuntu → usuário ubuntu · Oracle Linux → usuário opc local ~ ssh -i ~/.ssh/sua-chave.key ubuntu@SEU_IP_PUBLICO # abra só o necessário: 22 (SSH), 80 e 443 se for servir web. # banco, painel do Docker e porta administrativa NUNCA expostos.

03 · Canal

O bot do Telegram

Dois códigos, dois robôs oficiais. Nada disso depende da VPS estar pronta — faça antes e guarde.

Token

@BotFather → /newbot

Nome de exibição livre; nome de usuário sem espaço, sem acento e terminando em bot — se não terminar, o Telegram recusa. Ele devolve uma linha no formato 1234567890:AA…. Trate como senha: quem tem o token controla o bot. Vazou, /revoke gera outro.

Seu ID

@userinfobot ou @MyIDBot

Qualquer um dos dois resolve. Devolve só dígitos. Esse número é o que faz o agente saber que é você falando.

Allowlist

Sem a lista de IDs, o bot é público

Cada pessoa que for conversar com o agente pega o próprio ID pelo mesmo caminho, e todos entram separados por vírgula no campo de IDs permitidos. Sem isso, qualquer um que descubra o nome do bot manda mensagem para ele — e ele obedece.

04 · Blindagem

Isto não é opcional

Servidor exposto recebe tentativa automática de invasão desde o primeiro dia. Três peças: ufw fecha as portas, fail2ban bane quem erra a senha, e o unattended-upgrades instala correção de segurança sozinho. Rode antes de dar qualquer credencial ao agente.

# na VPS, como root vps ~ export DEBIAN_FRONTEND=noninteractive vps ~ export NEEDRESTART_SUSPEND=1 vps ~ ufw allow OpenSSH vps ~ ufw --force enable vps ~ apt-get -o DPkg::Lock::Timeout=300 update -q vps ~ apt-get -o DPkg::Lock::Timeout=300 install -y -q fail2ban vps ~ printf '[sshd]\nenabled = true\nbackend = systemd\nmaxretry = 4\nbantime = 1h\n' > /etc/fail2ban/jail.d/hermes-sshd.conf vps ~ systemctl enable --now fail2ban vps ~ printf 'LoginGraceTime 30\n' > /etc/ssh/sshd_config.d/60-harden.conf vps ~ sshd -t && systemctl reload ssh vps ~ printf 'APT::Periodic::Update-Package-Lists "1";\nAPT::Periodic::Unattended-Upgrade "1";\n' > /etc/apt/apt.conf.d/20auto-upgrades vps ~ systemctl enable --now unattended-upgrades # conferência — só isto conta como "feito" vps ~ ufw status Status: active vps ~ fail2ban-client status sshd jail sshd ativa

Se fail2ban-client status sshd reclamar, espere trinta segundos e rode só ele de novo — o serviço leva um instante para subir. Falhou três vezes, aí sim é problema.

05 · Acesso

Painel sem porta aberta

O Tailscale cria uma rede privada entre os seus dispositivos. Com ela, o painel do Hermes fica acessível do seu computador sem nunca aparecer na internet pública — e sem você abrir porta nenhuma no firewall.

# 1. na VPS — instalar e garantir que suba no boot vps ~ curl -fsSL https://tailscale.com/install.sh | sh vps ~ systemctl enable --now tailscaled vps ~ tailscale up abre um link; autorize no navegador com a mesma conta # 2. pegar o IP privado — é o IPv4 que começa com 100. vps ~ tailscale ip -4 100.100.100.100 # exemplo. o seu será outro # 3. usuário e senha do painel vps ~ cat >> ~/.hermes/.env <<'EOF' HERMES_DASHBOARD_BASIC_AUTH_USERNAME=seu-usuario HERMES_DASHBOARD_BASIC_AUTH_PASSWORD=SUA_SENHA_FORTE_AQUI HERMES_DASHBOARD_BASIC_AUTH_SECRET=$(openssl rand -base64 32) EOF vps ~ chmod 600 ~/.hermes/.env # 4. subir o painel vinculado ao IP do Tailscale vps ~ hermes dashboard --no-open --host 100.100.100.100 --port 9119 # 5. conferir vps ~ curl -s http://100.100.100.100:9119/api/status | jq '.auth_required, .auth_providers' true ["basic"]
Não faça

--host 0.0.0.0

Vincular a 0.0.0.0 publica o painel em todas as interfaces, inclusive a de internet. O ponto inteiro do Tailscale é vincular ao IP 100.x: só quem está na sua tailnet enxerga.

No seu computador

Hermes Desktop

Instale o Tailscale local com a mesma conta. Depois: Settings → Gateway → Remote gateway, URL http://100.100.100.100:9119, Sign in com o usuário e senha do passo 3, e Save and reconnect.

Recomendado

MagicDNS em vez do IP

Habilite o MagicDNS no admin do Tailscale e a VPS ganha um hostname estável, tipo sua-vps.suarede.ts.net. Continua válido mesmo se o IP mudar — e você para de decorar número.

Se quiser fechar mais

ACL por tag

Com Device Approval ligado, a VPS entra como pendente e você aprova na mão em Machines. Marque a VPS como tag:hermes-server e o notebook como tag:hermes-client, e troque o "allow all" por uma regra que só permita cliente → servidor.

06 · Permanência

Sobreviver ao reboot

hermes dashboard fica preso ao terminal: fechou o SSH, morreu o processo. Duas saídas — e elas não resolvem o mesmo problema.

Situação tmux systemd
Sobrevive a fechar o terminal sim sim
Sobrevive a reboot da VPS não sim
Reinicia sozinho se cair não sim
Espera o tailscaled subir antes manual declarado no serviço
Serve para teste, uso pontual produção, 24/7

Opção A · rápido

vps ~ apt install tmux -y # -d cria a sessão JÁ desanexada: o processo # reparenta no init e não depende do seu shell. vps ~ tmux new-session -d -s hermes \ 'hermes dashboard --no-open --host 100.100.100.100 --port 9119' vps ~ tmux attach -t hermes # ver vps ~ tmux kill-session -t hermes

Opção B · recomendado para 24/7

# /etc/systemd/system/hermes-dashboard.service [Unit] Description=Hermes Dashboard After=network-online.target tailscaled.service Wants=network-online.target # sem isto o painel pode subir ANTES do IP existir Requires=tailscaled.service [Service] User=root WorkingDirectory=/root # caminho COMPLETO — descubra com: which hermes ExecStart=/usr/local/bin/hermes dashboard --no-open \ --host 100.100.100.100 --port 9119 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target vps ~ systemctl daemon-reload vps ~ systemctl enable --now hermes-dashboard

Com o tailscaled habilitado no boot e o painel declarando Requires=tailscaled.service, os dois voltam na ordem certa depois de um reboot: primeiro o Tailscale recria o IP, depois o painel sobe já vinculado a um endereço que existe.

07 · Onde quebra

Os sintomas e a causa real

Quase toda falha aqui tem sintoma enganoso: o processo continua "vivo", a página responde, e mesmo assim nada funciona.

Nº 1 em recorrência

O painel parou de responder do nada

O tailscaled caiu, a interface tailscale0 sumiu e o IP 100.x deixou de existir. O painel segue rodando — escutando num endereço que não existe mais. Cheque com systemctl is-active tailscaled, suba, confirme o IP e só então reinicie o painel.

Intermitente

O agente responde ora sim, ora não

Quase sempre o mesmo token do bot está ativo em dois agentes ao mesmo tempo — um no seu computador e outro na VPS. Os dois disputam a mesma fila de mensagens. Desligue o canal Telegram em um dos dois.

Depois do reboot

Nada voltou sozinho

Se você usou só tmux, a sessão morreu no reboot — é esperado, recrie. Se usou systemd, confira systemctl status hermes-dashboard e se o tailscaled também está habilitado no boot. Um sem o outro não resolve.

Configuração

Colei o token e o agente não responde

O Desktop provavelmente estava desconectado da VPS na hora, e a configuração foi para o Hermes local do seu computador. Confirme no rodapé do Desktop se aparece Gateway ready e se o gateway remoto aponta para o IP do Tailscale. Reconecte e refaça.

Instalação

Falhou em "validando a VPS"

A máquina não estava limpa. Qualquer coisa instalada antes — inclusive outro agente — derruba a validação. Reinstale o sistema pelo painel do provedor e comece de novo.

Tailscale

A VPS ficou "pendente" em Machines

Device Approval está ligado. Não é erro: vá em Machines no admin console e aprove o dispositivo na mão. Só depois disso o tailscale ip -4 entrega um IP que funciona de fora.

Fontes

De onde isto saiu

Consolidação dos materiais que circularam no grupo em agosto de 2026 — manual de instalação em VPS com Telegram, guia de Tailscale para o Hermes Desktop e o levantamento do Oracle Cloud Free Tier. Os originais estão no Drive da turma.

Todo IP, usuário e senha nesta página é exemplo · nada de credencial real em print, grupo ou commit