Hermes-Agent

Hermes-Agent

Docker app from martial's Repository

Overview

Hermes Agent is a local, self-improving AI agent built by Nous Research, with a built-in learning loop — it creates skills from experience, improves them during use, nudges itself to persist knowledge, and builds a deepening model of who you are across sessions. This template uses the official Hermes Agent docker image, and it is configured to run the agent's Gateway and Dashboard using the HERMES_UID and HERMES_GID environment variables. It will expose the Dashboard WebUI on port 9119 and API acess on port 8642. This template uses a custom network for the additional services to see one another and a shared volume to store Hermes sources, which allows the other Hermes templates to access them. Please see https://github.com/mmartial/Unraid-templates/ for deployment notes. This template was built following the documentation from https://hermes-agent.nousresearch.com/docs/user-guide/docker. Please refer to the official documentation for available configuration options and instructions to use the agent, the dashboard, and the API. It is encouraged to spend time reading https://hermes-agent.nousresearch.com/docs/ to understand the project and its capabilities, and to configure it properly for your use case. Familiarity with docker exec might be required to configure the agent itself. The container should start with the name HermesAgent (use "docker container ls" to find the name of the running container), use the following command to get access to the hermes command (to configure/test it): docker exec --user 99:100 -it HermesAgent bash source .venv/bin/activate hermes Please see https://github.com/mmartial/Unraid-templates/issues/2#issuecomment-4327179027 for a note about the need to use a Docker shared volume, and https://github.com/mmartial/Unraid-templates/issues/8#issuecomment-4570170067 for details on steps required to update the shared docker volume when the underlying image is updated. It is also possible to disable autoamtic container update and instead use "hermes update" is another command line that can be run inside the container to update the shared volume with the latest sources from GirHub. Other Hermes templates are also available from the same maintainer. If a new variable is added to the official image and you want it added to the template, please let me know. If you encounter issues with this template (not the underlying application), please open an issue in the template repository.

Install Hermes-Agent on Unraid in a few clicks.

Find Hermes-Agent in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Hermes-Agent Review the template variables and paths Click Install

Requirements

Important: the template requires a shared docker volume to share the hermes sources with the WebUI; if you have autoamtic container updates enabled, you will need to recreate the docker volume each time as described in the notes, or manually update hermes (and disable automatic updates for the container). This template's WebUI is the Hermes Dashboard. To access the gateway, connect to port 8642 (running in API server mode). Make sure to use the other "Hermes" components from the same maintainer.

Categories

Download Statistics

3,741,731
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
nousresearch/hermes-agent:latest
Last Updated2026-06-27
First Seen2026-04-13

Runtime arguments

Web UI
http://[IP]:[PORT:9119]
Network
docker
Shell
bash
Privileged
false

Template configuration

Gateway PortPorttcp

Internal port for the Hermes Gateway and API server

Target
8642
Default
8642
Value
8642
Dashboard PortPorttcp

Internal port for the Hermes Dashboard

Target
9119
Default
9119
Value
9119
API_SERVER_ENABLEDVariable

Enable the API server

Default
true
Value
true
API_SERVER_HOSTVariable

Bind Host for the API server

Default
0.0.0.0
Value
0.0.0.0
API_SERVER_KEYVariable

API key for the API server. Generate one with: openssl rand -hex 32

Value
bd3db74dd31a13c4f23c137eca542a1ae76d403d5dc6453926820e9e7b9e28a4
API_SERVER_CORS_ORIGINSVariable

CORS origins for the API server

Value
*
HERMES_DASHBOARDVariable

Enable the Hermes Dashboard

Default
true
Value
true
HERMES_DASHBOARD_HOSTVariable

Bind Host for the Hermes Dashboard

Default
0.0.0.0
Value
0.0.0.0
HERMES_DASHBOARD_TUIVariable

Set to 1 to expose the in-browser Chat tab

Default
1
Value
1
HERMES_DASHBOARD_BASIC_AUTH_USERNAMEVariable

Username for basic authentication on the Hermes Dashboard

Default
admin
Value
admin
HERMES_DASHBOARD_BASIC_AUTH_PASSWORDVariable

Password for basic authentication on the Hermes Dashboard (unless changed: pa33_w0rd)

Default
pa33_w0rd
Value
pa33_w0rd
HERMES_DASHBOARD_BASIC_AUTH_SECRETVariable

Secret for basic authentication on the Hermes Dashboard (generate one with: openssl rand -hex 32)

Default
73AvrCUlil3ORKTfeeghTXV8BOT8lvIjB3cIHg+OtIo=
Value
73AvrCUlil3ORKTfeeghTXV8BOT8lvIjB3cIHg+OtIo=
HERMES_UIDVariable

UID to use for content

Default
99
Value
99
HERMES_GIDVariable

GID to use for content

Default
100
Value
100
HERMES_HOMEVariable

Home directory for Hermes data

Default
/home/hermes/.hermes
Value
/home/hermes/.hermes
HERMES_HOME Unraid locationPathrw

Location where the container stores all user data (config, API keys, sessions, skills, memories)

Target
/home/hermes/.hermes
Default
/mnt/user/appdata/hermes-agent/hermes-home
Value
/mnt/user/appdata/hermes-agent/hermes-home
/opt/dataPathrw

Persistent location for /opt/data

Default
/mnt/user/appdata/hermes-agent/opt-data
Value
/mnt/user/appdata/hermes-agent/opt-data