Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,22 @@ ARG UPSTREAM_VERSION="latest"

FROM nousresearch/hermes-agent:${UPSTREAM_VERSION}

USER root

# Install ttyd for web terminal (static binary from GitHub releases)
ADD https://github.com/tsl0922/ttyd/releases/download/1.7.7/ttyd.x86_64 /usr/local/bin/ttyd
RUN chmod +x /usr/local/bin/ttyd
ADD --chmod=755 https://github.com/tsl0922/ttyd/releases/download/1.7.7/ttyd.x86_64 /usr/local/bin/ttyd

# Copy setup wizard into the image
COPY setup-wizard/ /opt/setup-wizard/

# Copy entrypoint script
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
COPY --chmod=755 entrypoint.sh /usr/local/bin/entrypoint.sh

# Persistent data directory
ENV HERMES_HOME=/opt/data

# Expose API server, web UI, and web terminal ports
EXPOSE 3000 8080 7681
# Expose API server, web UI, setup wizard, and web terminal ports
EXPOSE 3000 8080 8081 7681

# Health check for DAppNode monitoring
HEALTHCHECK --interval=30s --timeout=10s --start-period=120s --retries=3 \
Expand Down
5 changes: 3 additions & 2 deletions dappnode_package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "hermes-agent.dnp.dappnode.eth",
"version": "0.1.0",
"upstreamVersion": "v2026.4.16",
"upstreamVersion": "v2026.4.23",
"upstreamRepo": "NousResearch/hermes-agent",
"upstreamArg": "UPSTREAM_VERSION",
"shortDescription": "Self-improving AI agent with multi-LLM support and messaging gateway",
Expand Down Expand Up @@ -29,8 +29,9 @@
],
"links": {
"homepage": "https://hermes-agent.nousresearch.com",
"ui": "http://hermes-agent.dappnode:8080",
"ui": "http://hermes-agent.dappnode:8081",
"api": "http://hermes-agent.dappnode:3000",
"setup": "http://hermes-agent.dappnode:8080",
"terminal": "http://hermes-agent.dappnode:7681",
"docs": "https://hermes-agent.nousresearch.com/docs/"
},
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ services:
context: .
dockerfile: Dockerfile
args:
UPSTREAM_VERSION: v2026.4.16
UPSTREAM_VERSION: v2026.4.23
image: hermes-agent.dnp.dappnode.eth:0.1.0
container_name: DAppNodePackage-hermes-agent.dnp.dappnode.eth
restart: unless-stopped
Expand Down
6 changes: 5 additions & 1 deletion entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ EOF
fi

# --- Bootstrap config files (mirrors upstream entrypoint) ---
# Layout matches upstream docker/entrypoint.sh in v2026.4.16 (Hermes v0.10.0).
# Layout matches upstream docker/entrypoint.sh in v2026.4.23 (Hermes v0.11.0).
mkdir -p "$HERMES_HOME"/{cron,sessions,logs,hooks,memories,skills,skins,plans,workspace,home}

if [ ! -f "$HERMES_HOME/.env" ]; then
Expand Down Expand Up @@ -68,6 +68,10 @@ fi
node /opt/setup-wizard/server.cjs &
echo "Setup wizard started on port 8080"

# Start the web dashboard (serves pre-built UI from HERMES_WEB_DIST)
hermes dashboard --port 8081 --host 0.0.0.0 --no-open --insecure &
echo "Web dashboard started on port 8081"

ttyd -p 7681 -W bash -l &
echo "Web terminal started on port 7681"

Expand Down
Loading