Hermes Atlas
Multi-agent & orchestration · works with Hermes Agent

agent-stack

JoursBleu/agent-stack

Multi-tenant router that runs per-user Docker containers of Hermes Agent, OpenClaw and nanobot

In short

agent-stack is a lightweight multi-tenant router that spawns a Docker container per user and per backend, including Hermes Agent, and exposes them through an OpenAI-compatible API and a small web app.

What agent-stack does

A FastAPI router and an nginx-served vanilla JavaScript frontend sit in front of agent runtimes: OpenClaw, Hermes Agent and HKUDS nanobot. Each user gets one runner container per backend, started on demand and stopped and removed by an idle reaper once idle time exceeds a user-configurable threshold. POST /v1/chat/completions is routed to the right runner by model name, and cold starts report progress over a server-sent events stream. Chats and messages are stored in the router's SQLite database, so history follows a user across devices.

Authentication uses JWT cookies with optional invite-code signup and a bootstrap admin, and exactly one user can hold the admin role. Upstream LLM credentials are set in the web UI at three levels: a global admin value optionally shared with users, a per-user override and a per-backend override. The router does not read them from environment files. The Hermes backend uses the nousresearch/hermes-agent image with a per-user home templated from a seed config.

Key features

  • One Docker container per user and backend, started on demand
  • Idle reaper that stops and removes idle runners
  • OpenAI-compatible /v1/chat/completions routed by model
  • Conversation history stored in the router's SQLite database
  • Three-tier upstream key setup managed in the web UI
  • JWT cookie auth with optional invite codes and a single admin

When to use it

  • Hosting Hermes Agent for several users on one Linux server with isolated containers
  • Offering a single chat web app over several agent backends
  • Calling different agent runtimes through one OpenAI-style endpoint

Who it is for: Self-hosters who want to serve Hermes Agent and other agent runtimes to multiple users from one machine.

How it fits with Hermes Agent

Supports Hermes Agent as one of three backends, running the nousresearch/hermes-agent image per user alongside OpenClaw and nanobot.

How to install agent-stack

These commands are copied from the project's README. Check the repository for the latest steps before you run them.

git clone https://github.com/JoursBleu/agent-stack.git
cd agent-stack
cp .env.example .env
docker compose up -d --build

Requirements: Linux host, Docker 24 or newer, ports 18000 and 18080 free, access to the local docker.sock, and backend images pulled beforehand

FAQ

What is agent-stack?

agent-stack is a lightweight multi-tenant agent router with a small web app. It starts isolated Docker containers per user for backends such as OpenClaw, Hermes Agent and nanobot.

Does agent-stack work with Hermes Agent?

Yes. Hermes Agent is one of its backends, run from the nousresearch/hermes-agent Docker image per user, and requests are routed to it by model name.

What do I need to run agent-stack?

You need a Linux host with Docker 24 or newer and ports 18000 and 18080 free. The router uses the local docker.sock, and you must docker pull the backend images and set JWT_SECRET and the admin password in .env first.

Similar multi-agent for Hermes Agent

All multi-agent

Related guides: Build agent teams with the Hermes kanban board · Run multiple Hermes agents with profiles · Connect Hermes agents on several machines with Hermes Desktop