57 lines
1.7 KiB
Markdown
57 lines
1.7 KiB
Markdown
|
|
# Hermes Agent — Docker
|
||
|
|
|
||
|
|
Want to run Hermes Agent, but without installing packages on your host? This'll sort you out.
|
||
|
|
|
||
|
|
This will let you run the agent in a container, with the most relevant modes outlined below.
|
||
|
|
|
||
|
|
The container stores all user data (config, API keys, sessions, skills, memories) in a single directory mounted from the host at `/opt/data`. The image itself is stateless and can be upgraded by pulling a new version without losing any configuration.
|
||
|
|
|
||
|
|
## Quick start
|
||
|
|
|
||
|
|
If this is your first time running Hermes Agent, create a data directory on the host and start the container interactively to run the setup wizard:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
mkdir -p ~/.hermes
|
||
|
|
docker run -it --rm \
|
||
|
|
-v ~/.hermes:/opt/data \
|
||
|
|
nousresearch/hermes-agent
|
||
|
|
```
|
||
|
|
|
||
|
|
This drops you into the setup wizard, which will prompt you for your API keys and write them to `~/.hermes/.env`. You only need to do this once. It is highly recommended to set up a chat system for the gateway to work with at this point.
|
||
|
|
|
||
|
|
## Running in gateway mode
|
||
|
|
|
||
|
|
Once configured, run the container in the background as a persistent gateway (Telegram, Discord, Slack, WhatsApp, etc.):
|
||
|
|
|
||
|
|
```sh
|
||
|
|
docker run -d \
|
||
|
|
--name hermes \
|
||
|
|
--restart unless-stopped \
|
||
|
|
-v ~/.hermes:/opt/data \
|
||
|
|
nousresearch/hermes-agent gateway run
|
||
|
|
```
|
||
|
|
|
||
|
|
## Running interactively (CLI chat)
|
||
|
|
|
||
|
|
To open an interactive chat session against a running data directory:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
docker run -it --rm \
|
||
|
|
-v ~/.hermes:/opt/data \
|
||
|
|
nousresearch/hermes-agent
|
||
|
|
```
|
||
|
|
|
||
|
|
## Upgrading
|
||
|
|
|
||
|
|
Pull the latest image and recreate the container. Your data directory is untouched.
|
||
|
|
|
||
|
|
```sh
|
||
|
|
docker pull nousresearch/hermes-agent:latest
|
||
|
|
docker rm -f hermes
|
||
|
|
docker run -d \
|
||
|
|
--name hermes \
|
||
|
|
--restart unless-stopped \
|
||
|
|
-v ~/.hermes:/opt/data \
|
||
|
|
nousresearch/hermes-agent
|
||
|
|
```
|