Knowledge

Hermes devcontainer

VS Code devcontainer that runs Hermes Agent with a persistent data volume, dashboard, and API ports.

appagentscontainersdevcontainerhermes

Draft: not yet reviewed/published by a human.

Hermes devcontainer

A small, purpose-built repository that wraps Hermes Agent in a VS Code dev container. It exists so the agent runs inside a container by default instead of being installed loose on the host — which is exactly the property we want for agents.

Field Value
Repository https://github.com/wiki3-ai/hermes-devcontainer
OSS? Yes
License Apache-2.0
Base image nousresearch/hermes-agent:latest
Startup command gateway run
Persistent data Named volume at /opt/data
Dashboard Port 9119 (basic auth hermes / hermes-devcontainer by default)
API Port 8642 — root path returns 404 by design; use /health or /v1/...
Host access host.docker.internal (Docker/Codespaces), host.containers.internal (Podman Desktop)

Why it exists

Installing an agent directly means it can read and write your files with your full user privileges. A devcontainer narrows that: the agent gets the container's filesystem, and only the directories you mount are shared. The repository's own README states the reason plainly — it is a devcontainer for running Hermes Agent, built from the official image.

More background on the general principle: Agent containment.

Getting started

  1. Make sure you have a container runtime: Docker Desktop or Podman.
  2. Open https://github.com/wiki3-ai/hermes-devcontainer in a dev container — VS Code, GitHub Codespaces, Podman Desktop, or Docker Desktop all work.
  3. Wait for the build; the container pulls nousresearch/hermes-agent:latest and runs gateway run.
  4. Open port 9119 for the dashboard.
  5. Change the default dashboard password before exposing the port.

Common pitfalls

  • Port 8642 appears broken. Opening the API port's root URL returns 404 by design. Use a real endpoint.
  • Default credentials. hermes / hermes-devcontainer are published defaults. Anywhere beyond your own machine, change them.
  • Public port visibility. The repo's devcontainer.json marks ports public to make Codespaces cross-device access easier. That is convenient and also an exposure — review it before sharing a forwarded URL.
  • Podman vs Docker hostnames. A host model server is at host.docker.internal under Docker and host.containers.internal under Podman Desktop. Both are mapped in the run arguments; using the wrong one produces a timeout, not a clear error.
  • Lost state if the volume is removed. Hermes' data lives in the named volume at /opt/data; deleting the volume discards sessions and configuration.

Tips and tricks

  • Treat this repository as a template: copy it, pin the image tag, and adjust mounts rather than editing it in place and losing your changes on pull.
  • Combine with a local model endpoint (Unsloth Desktop) for a fully local agent with no cloud API keys.
  • If you only need the agent occasionally, the container is still worth it — you avoid the "what did I install six months ago" archaeology.

Videos

Related

Verification note: ports, volume path, startup command, licence, and default credentials were read from the repository README and the GitHub API on 2026-10-28. This repository is community-maintained and small (0 stars at the time of writing); pin a commit if you depend on it.