Operations for local container stacks defined in docker-compose.yaml or docker-compose/ directory. Handles AI/ML services (Ollama, ComfyUI), standalone databases, and local observability stacks...
*.127.0.0.1.nip.io domains through Envoy gatewayruntime: nvidia (NVIDIA Docker runtime)docker compose logs -f <service> for real-time log monitoringdocker subcommand reaches the rootless daemon, which holds none of this stack - take the route in ### Reaching the Stack from the claudex Sandbox instead| Category | Services | Access |
|---|---|---|
| AI/ML (profile) | comfyui, stable-diffusion-*, llama.cpp, yue | Profile-based |
| AI/ML (always-on) | ollama, open-webui | Always-on |
| Web | pianify | Always-on |
| Observability | grafana, prometheus, jaeger, pyroscope | Always-on |
| Datastores | mysql, redis, minio, qdrant, cassandra, influxdb | Always-on |
| Gateway | envoy, mitmproxy | Always-on |
| MCP Servers | github-mcp-server, playwright-mcp, chrome-devtools-mcp, mcp-filesystem | Always-on |
| Profile | Description | GPU |
|---|---|---|
| stable-diffusion-webui | Original Stable Diffusion WebUI | Yes |
| stable-diffusion-webui-forge | Improved Stable Diffusion WebUI | Yes |
| comfyui | Node-based AI image generation | Yes |
| llama.cpp | LLaMA.cpp for LLM inference | Yes |
| yue | Yue server | Yes |
# Start profile-based services
docker compose --profile=comfyui up -d
# View logs
docker compose logs -f grafana
# Execute commands in container
docker compose exec redis redis-cli
docker compose exec mysql mysql -u hippocampus -p
# Check GPU status
docker compose exec dcgm-exporter nvidia-smi
# Restart service
docker compose restart prometheus
Services are accessible via http://{service}.127.0.0.1.nip.io.
See docker-compose/envoy/envoy.yaml for available domains.
| Service | URL | Note |
|---|---|---|
| Envoy Admin | http://localhost:9901 |
Direct access |
| mitmproxy Web | http://localhost:18081 |
Direct access |
docker compose psdocker compose logs -f <service>docker compose exec <service> healthcheck-commanddocker compose exec envoy curl -s http://<service>:<port>/health| Symptom | Action |
|---|---|
| Service not starting | Check logs, verify dependencies, check volumes |
| Connection refused | Verify network, check service health |
| GPU not available | Check nvidia-smi, verify runtime configuration |
| Model download failed | Check HF_HUB_TOKEN, verify network access |
| Need | Route |
|---|---|
| Logs | journalctl -u hippocampus-compose.service |
| Web UI, HTTP API | http://{service}.127.0.0.1.nip.io |
| Datastore query, health endpoint | The port the service publishes on 127.0.0.1 - redis-cli, mysql and mc are absent, so drive it with curl or python3 |
| GPU state | nvidia-smi directly, not docker compose exec dcgm-exporter nvidia-smi |
Service status, exec, up/down/restart, volume contents |
Ask the user to run that docker compose subcommand on the host |
Every service's output reaches the journal of hippocampus-compose.service.
journalctl -u hippocampus-compose.service -f
journalctl -u hippocampus-compose.service --no-pager -o cat | grep '^comfyui-1 '
Each line keeps the <service>-1 | prefix docker compose up writes, so grep selects one service the way docker compose logs <service> would.
# List volumes
docker volume ls | grep hippocampus
# Inspect volume
docker volume inspect hippocampus_comfyui-models
# Access volume data via ephemeral-container
docker compose exec ephemeral-container ls /home/nonroot/ComfyUI/models
If managing AI/ML services: See AI/ML Services