Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-26 18:35:32 +00:00
defaults update 2026-09-26 18:35:32 +00:00
meta Add rootless podman deployment role for Hermes Agent 2026-06-16 20:30:46 +00:00
tasks update 2026-09-26 18:35:32 +00:00
.gitignore update 2026-09-26 18:35:32 +00:00
LICENSE update 2026-09-26 18:35:32 +00:00
README.md Add rootless podman deployment role for Hermes Agent 2026-06-16 20:30:46 +00:00

ansible-roles-hermes

Deploys Hermes Agent as a rootless Podman container in persistent gateway mode.

All state (config, API keys, sessions, skills, memories) lives under {{ deployment_config_path }}, mounted at /opt/data in the container.

First-time setup

Run the setup wizard once against the data directory before enabling the gateway, or exec into the container:

podman run -it --rm \
  -v ~/.config/hermes:/opt/data:Z \
  docker.io/nousresearch/hermes-agent:latest setup

Task Configuration

- name: Setup Hermes Agent
  hosts: somehost
  become: true
  roles:
    - role: hermes
      hermes_api_server_enabled: true
      hermes_deploy_env:
        API_SERVER_KEY: "{{ vault_hermes_api_server_key }}"

Enable the web dashboard:

hermes_dashboard: true
hermes_deploy_env:
  HERMES_DASHBOARD_BASIC_AUTH_USERNAME: admin
  HERMES_DASHBOARD_BASIC_AUTH_PASSWORD: "{{ vault_hermes_dashboard_password }}"
  HERMES_DASHBOARD_BASIC_AUTH_SECRET: "{{ vault_hermes_dashboard_secret }}"

Deployment and Removal

systemctl --user stop container-hermes.service

Deploy

./run.sh deploy actual --tags hermes --limit somehost

Remove

./run.sh deploy actual --tags hermes --extra-vars "deployment_state=absent" --limit somehost

Notes

  • Never mount the same data directory to two gateway containers simultaneously.
  • Port 8642 is the OpenAI-compatible API server (optional chat-only gateways can leave it unpublished).
  • Port 9119 is published when hermes_dashboard: true.