agent-stack
JoursBleu/agent-stack
Multi-tenant router that runs per-user Docker containers of Hermes Agent, OpenClaw and nanobot
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 --buildRequirements: 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-agentOvernight parallel coding agents on GitHub Actions, planned by Hermes, delivered as one PR per task
bennybuoy Hermes HeraldHermes plugin that dispatches work across profiles, with model routing, subagent models and approval relay
emiltsoi Hermes Agent A2ARetired A2A protocol plugin for Hermes fleet agents, replaced by native a2a-platform in Hermes 0.20.0+
t4tarzan ConvergenceAutonomous company orchestration with self-evolving CEO agents, a dashboard and a Hermes-style brain
L1l1thLY AgentCompany (PetAgent)One-person AI company operating system where built-in agent roles work alongside external agents like Hermes
Sahil-SS9 Hermes Walkie TalkieSecure same-machine peer messaging for independent Hermes Agent sessions
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