Instalar o Hermes numa VPS
Ficha e sumário do guia
- Ambiente
- Ubuntu 24.04
- Referência técnica
- v0.23.1
- Conferência
- Procedimento testado
Prepare o ambiente
Antes de começar, você precisa de:
- VPS Linux com acesso SSH de um usuário administrador
O instalador oficial do Hermes Agent baixa o código do projeto, prepara as
versões de Python e Node.js que o agente usa e cria o comando hermes na
pasta ~/.local/bin do usuário que roda a instalação. Os arquivos do agente
ficam em ~/.hermes/, na pasta pessoal desse mesmo usuário. Tudo o que o
Hermes executar no terminal também roda com as permissões dele.
Por isso a Nous Research recomenda, na documentação de instalação, que o
Hermes rode num servidor com um usuário de serviço comum, sem acesso de root.
Na sua VPS, esse usuário separa o agente do restante do sistema: um comando
errado do Hermes alcança os arquivos do usuário hermes, mas não altera a
configuração do servidor.
Crie o usuário de serviço
Conecte-se à VPS com o usuário administrador e atualize os pacotes do sistema.
Os exemplos deste guia usam Ubuntu. O segundo comando instala o Git, o curl e
o tar, que o instalador do Hermes exige. Ele também instala a biblioteca
libatomic1, usada pelo Node.js do Hermes e ausente em algumas imagens
mínimas do Ubuntu:
sudo apt update && sudo apt upgrade -ysudo apt install -y git curl tar libatomic1Em seguida, crie o usuário hermes e ative o linger para ele. O linger mantém
os serviços desse usuário rodando depois que a sessão SSH termina. Mais
adiante na trilha, é esse recurso que deixa o gateway ativo quando você se
desconecta:
sudo adduser hermessudo loginctl enable-linger hermesDurante o adduser, você define a senha do novo usuário. O usuário hermes
fica fora do grupo sudo, o que limita o alcance do agente no servidor.
Instale o Hermes com o usuário hermes
O instalador grava o comando e os arquivos na pasta pessoal do usuário que o
executa. Por isso ele precisa rodar com o usuário hermes, não com o
administrador.
Abra uma sessão como hermes a partir do administrador:
sudo -iu hermesO prompt mostra o usuário hermes. Os comandos seguintes rodam com as
permissões dele. Rode o instalador oficial com três opções:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh \ | bash -s -- --skip-browser --skip-computer-use --non-interactiveA opção --skip-browser deixa de fora o Chromium das ferramentas de
navegador, que depende de bibliotecas do sistema que o usuário hermes não
consegue instalar sem sudo. A --skip-computer-use deixa de fora o
driver que controla uma interface gráfica, recurso sem uso numa VPS sem tela.
Já a --non-interactive pula as etapas que esperam uma resposta no terminal,
como o assistente de configuração. A trilha configura o modelo num guia próprio.
O Hermes guarda essas escolhas, então o hermes update também não instala
as ferramentas que ficaram de fora. Para adicionar o navegador mais tarde,
rode hermes pm install chromium depois que o administrador instalar as
bibliotecas do Chromium. O registro completo da instalação fica em
~/.hermes/logs/install.log.
Coloque o comando no PATH
O comando hermes fica em ~/.local/bin. No fim da instalação, o
instalador grava essa pasta no PATH do .bashrc do usuário hermes e
mostra a linha added ~/.local/bin to PATH. Recarregue o arquivo para a
sessão atual enxergar o comando:
source ~/.bashrcQuando o terminal responde hermes: command not found, o .bashrc ficou
sem essa linha. Grave a pasta manualmente e recarregue o arquivo:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrcsource ~/.bashrcRode o diagnóstico
Rode os dois comandos com o usuário hermes:
hermes --versionhermes doctorO hermes --version mostra a pasta da instalação, o método git, a versão
do Python e a comparação com a última release, com a linha Up to date
quando não há versão nova. O hermes doctor lista cada ferramenta com um
sinal de ok ou de alerta. Nesta etapa, os alertas são esperados: as
ferramentas de navegador e de interface gráfica ficaram de fora da
instalação. As que dependem de chave ou token também aparecem com alerta,
porque o .env ainda está vazio. No fim, o
diagnóstico resume a pendência com a orientação de rodar o hermes setup
para configurar as chaves de API, o que a trilha faz no guia do modelo. Segundo a documentação
de instalação, o diagnóstico roda pelo comando hermes de ~/.local/bin,
não pelo executável de dentro da pasta venv do projeto.
Atualize sem perder a configuração
Uma instalação pelo script acompanha o canal estável, ou seja, a última release publicada. O primeiro comando consulta se existe versão nova sem alterar nada. O segundo aplica a atualização:
hermes update --checkhermes updateAntes de trocar o código, o hermes update guarda uma cópia rápida do
config.yaml, do .env, do auth.json, dos pareamentos e das tarefas
agendadas de cada profile. Com a opção --backup, ele guarda também uma
cópia completa da pasta ~/.hermes. Vale usar essa opção antes de cada
atualização, porque uma versão antiga não abre o state.db que uma versão
mais nova já gravou. Voltar o código para a release anterior não devolve esse
arquivo ao formato antigo.
Com o hermes doctor apontando só as chaves de API, o Hermes está instalado
na VPS, mas ainda não responde, porque falta escolher o modelo. O próximo guia apresenta o
terminal do Hermes, a forma mais direta de conferir cada etapa da trilha.
Confira o resultado
O comando hermes --version, executado pelo usuário hermes, mostra a v0.23.1 atualizada, e o hermes doctor aponta como pendência só as chaves de API, configuradas no guia do modelo.
