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.
Acervo · Infra
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
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
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 programa que roda dentro dela. É ele que pensa, executa, guarda memória e dispara rotina sozinho. Esse é o agente.
Peça 03
Telegram, no caso — porque tem bot oficial e gratuito, sem gambiarra. É por onde você fala com o agente do celular, de qualquer lugar.
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
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). |
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.
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
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.
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).
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.
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.
03 · Canal
Dois códigos, dois robôs oficiais. Nada disso depende da VPS estar pronta — faça antes e guarde.
Token
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
Qualquer um dos dois resolve. Devolve só dígitos. Esse número é o que faz o agente saber que é você falando.
Allowlist
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
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.
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
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.
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.
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.
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.
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
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
Opção B · recomendado para 24/7
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
Quase toda falha aqui tem sintoma enganoso: o processo continua "vivo", a página responde, e mesmo assim nada funciona.
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.
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.
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.
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.
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.
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
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