Vertra Cloud does not host a model. You bring the key of a provider, and the model usage is billed to you by that provider. This template is a Vertra Cloud packaging and is not affiliated with the Hermes Agent project (MIT license).
Requirements and plan
1. Get the provider key
Hermes works with OpenRouter (default), Anthropic, OpenAI, Google Gemini or any OpenAI-compatible endpoint.
Copy the key now: most providers show it only once. It is stored only in the app’s encrypted variables.
2. Create the agent
1
Open the template
In the dashboard open Templates, pick Hermes Agent and click Use template.
2
Choose provider and model
Pick the model provider and paste the API key. With a compatible endpoint, also enter the base URL and the model, which is required. For the others, leave the model empty to use the provider’s default, or type the model you prefer.
3
Browser chat (optional)
Turn on Browser chat (Hermes WebUI) if you want a chat page with sessions, files and settings. It costs about 150 MB of memory more. Without it the agent still works in the panel and in your channels.
4
Connect channels (optional)
Each channel asks for credentials and the list of people allowed to talk to the agent, which is required. See step 4; you can also do it later in the panel.
5
Create
Name the app and click Create. The outputs show the panel address, the user
admin and a generated password, shown once. Copy it.3. Sign in to the panel and chat
Open<address>/admin/. The browser asks for a user and a password: use admin and the password from the outputs. This single login protects the panel and the chat.
- Chat in the panel:
/admin/chatis the Hermes terminal chat. Say hello there first to check that the key works. - Chat in the browser: if you turned it on, it lives at
<address>/with the same login. Without it,/takes you to the panel. - Lost the password? Change the
HERMES_ADMIN_PASSWORDvariable in the app and restart.
4. Connect a channel
Each channel needs two things: the bot credential and who may talk to the agent. Hermes ignores everyone who is not on that list, so the agent never answers strangers. You can fill these in the wizard or later in Channels (/admin/channels).
- Telegram
- Discord
- Slack
- WhatsApp
- Email
- In Telegram, talk to @BotFather, send
/newbotand follow the questions. Copy the bot token. - Find your numeric id by talking to @userinfobot.
- Enter the token and your id as the allowed user.
- Open a chat with your bot and send a message.
/admin/channels or in the app variables. Signal needs an external signal-cli daemon and does not run in this container.
5. Change the model later
Provider and model are applied on every start from the app variables, so the variables are the source of truth. To change them, edit these variables in the app and restart:Skills, memory and schedules
- Skills. Hermes syncs its skills on the first boot; you manage them in the panel.
- Memory. Memories, sessions, skills and configuration are kept in
/app/.hermeson the app’s disk, so they survive restarts, updates and rollbacks. - Schedules. In Cron you create recurring tasks. The agent runs them and talks to you through the channel you choose.
The cost of the AI is yours
The platform charges the plan for the memory the app uses. The model calls are billed by your provider, and an agent that runs scheduled tasks or reads long files can use many tokens. Set a spending limit in your provider’s account, and watch the usage while you test.Update and roll back
New versions arrive as new versions of the template. A snapshot is taken before the update, and a rollback brings the state back (/app/.hermes). See Update and roll back. Zero-downtime deploy is off: a second copy on the same disk exits with an error.
Limits to know
- Caddy is the only gate, with no attempt limit. The generated password is long; for more protection add a rate-limit rule on your own domain.
- The generated password and the provider key are in the app’s variables: do not share screenshots of them.
- The email channel and each provider’s default models were not exercised with a real account or key, so test them before depending on them.
Common problems
401 on everything
401 on everything
That is the login. Use
admin and the password from the outputs, or change HERMES_ADMIN_PASSWORD and restart.The app dies right after starting
The app dies right after starting
Check the memory (1.5 GB minimum) and the app log.
HERMES_ADMIN_PASSWORD is required means the password variable is missing.A channel does not answer
A channel does not answer
Open the app log. An invalid token appears there (“token … was rejected”) and the app stays up with that channel parked. Do not share this log. Then check that your own id is on the allowed list.
I edited config.yaml and it came back
I edited config.yaml and it came back
Provider and model are reapplied from the variables on every start. Change the variables and restart.
The WhatsApp QR code does not appear or expired
The WhatsApp QR code does not appear or expired
Reload Channels > WhatsApp and scan right away. The first time takes longer because the bridge is downloaded.
Related
Hermes Agent in the catalog
What the template creates and its variables.
Update and roll back
The safety snapshot and rollback.
Public page
The template in the public gallery.
Use a template
The gallery, the wizard and the outputs.