hermes-s6-container-supervision

Solid

Modify, debug, or extend the s6-overlay supervision tree inside the Hermes Agent Docker image — adding new services, debugging profile gateways, understanding the Architecture B main-program pattern.

AI & Automation 191,515 stars 33299 forks Updated today MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Hermes s6-overlay Container Supervision ## When to use this skill Load this skill when you're working on: - Adding or removing a static service in the Hermes Docker image (something that should be supervised at every container start, like the dashboard) - Diagnosing why a per-profile gateway isn't starting, restarting, or surviving `docker restart` - Understanding why the container's CMD is `/opt/hermes/docker/main-wrapper.sh` and how leading-dash args reach the user's program - Modifying `cont-init.d` boot scripts (UID remap, volume seeding, profile reconciliation) - Changing the rendered run-script for per-profile gateways (Phase 4) If you're just running the Hermes Agent and want to use Docker, see `website/docs/user-guide/docker.md` instead. ## Architecture at a glance ``` /init ← PID 1 (s6-overlay v3.2.3.0) ├── cont-init.d ← oneshot setup, runs as root │ ├── 01-hermes-setup ← docker/stage2-hook.sh │ │ ├── UID/GID remap │ │ ├── chown /opt/data │ │ ├── chown /opt/data/profiles (every boot) │ │ ├── seed .env / config.yaml / SOUL.md │ │ └── skills_sync.py │ └── 02-reconcile-profiles ← hermes_cli.container_boot │ ├── chown /run/service (hermes-writable for runtime register) │ └── walk $HERMES_HOME/profiles/<name>/gateway_state.json │ → recreate /run/service/gateway-<name>/ │ → auto-start only those with prior_state == "running" │ ├── s...

Details

Author
NousResearch
Repository
NousResearch/hermes-agent
Created
10 months ago
Last Updated
today
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category