Home βΊ Operations Runbook
π§ Operations Runbook v6.1
ASSUME NOTHING IS RUNNING. VERIFY BEFORE ACTING.
Essential Commands
| Command | Purpose |
|---|---|
~/bin/dryad-status | Full stack health check |
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | Running containers with ports |
docker stats --no-stream | RAM per container |
free -h | System RAM (16 GB ceiling) |
systemctl --user status opencode | OpenCode service |
tailscale status | Tailnet connectivity |
LiteLLM β Auth Required (v6.1+)
curl http://localhost:4000/v1/models \
-H "Authorization: Bearer sk-dryad-master" | jq .
curl http://localhost:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-dryad-master" \
-d '{"model":"qwen-coder-fast","messages":[{"role":"user","content":"Say hello"}],"max_tokens":50}'
OpenCode Config (v1.2.24)
Schema changed in v1.2.24Use
npm not type. Use options.baseURL not baseURL. Wrong format causes crash loops.{
"$schema": "https://opencode.ai/config.json",
"permission": "auto-allow",
"provider": {
"dryad-gateway": {
"npm": "@ai-sdk/openai-compatible",
"name": "Dryad LiteLLM Gateway",
"options": {
"baseURL": "http://localhost:4000/v1",
"apiKey": "sk-dryad-master"
}
}
},
"model": "dryad-gateway/qwen-coder-fast"
}
Kill All Ralph Loops
pkill -f ralph-start && sleep 2 && pkill -f "opencode run"
Safe Docker Cleanup
Never run docker system prune on madhatterIt removes Ollama model data and dryad volumes. Use targeted commands only.
docker container prune -f # stopped containers only
docker image prune -f # dangling images only