Sign inSign up

jefriherditriyanto/dind-hermes-9router

By jefriherditriyanto

Updated 3 months ago

Image
Security
Machine learning & AI
Data science
0

1.5K

jefriherditriyanto/dind-hermes-9router repository overview

DinD Hermes 9Router 🐳🤖

Docker Pulls Docker Image Size License: MIT

dind-hermes-9router is a premium, containerized deployment of the Hermes AI Agent built on top of Ubuntu 24.04 with built-in Docker-in-Docker (DinD) capabilities. It is pre-configured out-of-the-box to route all LLM requests, auxiliary utilities, and agent tools seamlessly through the 9Router API gateway (or any OpenAI-compatible API endpoint).


🌟 Key Features

  • Integrated 9Router Support: Pre-configured routing for the primary model, auxiliary tools (vision, web extraction, compression, skills hub, approvals, etc.), and delegation agents to point directly to your 9Router endpoint.
  • Docker-in-Docker (DinD): A fully privileged Docker environment running inside the container, enabling the Hermes Agent to run code, spin up testing environments, and use containerized toolsets natively.
  • Hermes Web UI Dashboard: Access the beautiful, real-time interactive dashboard at http://localhost:8888.
  • Pre-built SSH Access: Integrated OpenSSH server allowing direct secure terminal access to the container.
  • Rich Utility Toolset: Comes pre-installed with essential developer utilities: git, python3, nodejs, npm, fastfetch, neofetch, speedtest-cli, htop, btop, traceroute, ping, nano, and more.
  • Multi-Arch Support: Fully compatible with both linux/amd64 and linux/arm64 architectures.

🚀 Quick Start

1. Prerequisite

Ensure you have Docker installed and running on your host machine.

2. Run with run.sh (Local Dev)

Simply clone the repository and run the local development script:

./run.sh
3. Run Manually via Docker CLI

Run the container using the official image on Docker Hub. Make sure to pass the --privileged flag for DinD capabilities:

docker run -d \
  --privileged \
  --cap-add=NET_RAW \
  -p 8888:9119 \
  -p 2222:22 \
  --name dind-hermes-9router-app \
  -e NINEROUTER_URL="https://your-9router-endpoint.com/v1" \
  -e NINEROUTER_API_KEY="your-9router-api-key" \
  -e NINEROUTER_MODEL="your-default-model" \
  jefriherditriyanto/dind-hermes-9router:latest

⚙️ Configuration & Environment Variables

The container accepts the following environment variables to tailor runtime configuration:

VariableDescriptionDefault / Example
NINEROUTER_URLBase URL of the OpenAI-compatible 9Router gateway.http://localhost:9119/v1
NINEROUTER_API_KEYAuthentication bearer token for your API router.sk-...
NINEROUTER_MODELDefault model name configured for Hermes agent calls.agent
SSH_USERUsername used to connect via SSH to the workspace.ubuntu
SSH_PASSWORDPassword used to authenticate the SSH user.ubuntu
SSH_PORTHost port mapped to expose SSH container access.2222

🔗 Accessing the Environment

Web Dashboard

Open your web browser of choice and go to:

SSH Terminal Session

Connect directly to your agent's sandbox environment:

ssh ubuntu@localhost -p 2222
# Enter password: ubuntu

🛠️ Development & Publishing

The repository includes a helper utility script docker.sh that provides interactive options for local building and automated deployment.

To use the interactive helper script:

chmod +x docker.sh
./docker.sh
Script Options:
  1. Build & Run locally (development): Rebuilds the image locally, stops/removes any existing containers, and starts a fresh container with local configuration.
  2. Build & Push to Docker Hub: Automatically builds multi-architecture images (linux/amd64, linux/arm64) using docker buildx and publishes them to Docker Hub. It will also prompt to update the Docker Hub README overview using this file.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Tag summary

Content type

Image

Digest

sha256:1a92cf915

Size

1.8 GB

Last updated

3 months ago

docker pull jefriherditriyanto/dind-hermes-9router