xmbshwll/hermes-agent-docker
Simple docker sandbox image for Hermes Agent
This project provides a minimal Docker sandbox image designed to package and deploy Hermes Agent. It utilizes the official upstream installation script to set up the agent and includes mini-swe-agent within the container. The image supports multi-arch publishing and allows for persistent state management by mounting the agent's home directory. Users can easily build specific versions using build arguments to target different Hermes branches or tags.
- Includes mini-swe-agent and official Hermes installation
- Supports persistent state via mounted home directories
- Allows building specific Hermes tags using build arguments
full readme from github
hermes-agent-docker
Minimal Docker image packaging for Hermes Agent.
Image contents
The image in this repo:
- installs Hermes with the official upstream install script
- includes
mini-swe-agent - persists Hermes state under
/home/agent/.hermes - is intended for straightforward local builds and multi-arch publishing
Quick start
Build locally
Build the latest main by default:
docker build -t hermes-agent-docker:local .
Build a specific Hermes tag:
docker build \
--build-arg HERMES_REF=v2026.3.30 \
-t hermes-agent-docker:v2026.3.30 .
HERMES_REF defaults to main and can point to either a branch or a tag.
Run Hermes
Mount two paths:
- your current project into
/home/agent/workspace - a persistent Hermes home directory into
/home/agent/.hermes
docker run --rm -it \
-v "$PWD:/home/agent/workspace" \
-v "$HOME/.hermes:/home/agent/.hermes" \
hermes-agent-docker:local \
hermes
Run doctor
docker run --rm \
-v "$HOME/.hermes:/home/agent/.hermes" \
hermes-agent-docker:local \
hermes doctor
Persistence
Hermes stores config, sessions, memories, and related state in /home/agent/.hermes inside the container. Mount that path to keep state across runs.
On first start with an empty mounted /home/agent/.hermes, the container seeds that directory from image-prepared Hermes defaults before launching the requested command.
If you do not mount /home/agent/.hermes, Hermes will still start, but its state will be lost when the container exits.
Environment and setup
Run hermes setup inside the container and persist /home/agent/.hermes, or place the expected config files inside that mounted directory.