Homelab Runbook
/install homelab-runbook
Homelab Runbook
Scan the host machine and generate a Markdown runbook documenting all running services.
Scripts
All scripts are in scripts/. Run with python3 \x3Cscript>. All output JSON to stdout.
| Script | Purpose |
|---|---|
scan_docker.py |
Running containers: name, image, ports, mounts, status |
scan_services.py |
System services via launchd (macOS) or systemd (Linux) |
scan_ports.py |
Open TCP listening ports with process and PID |
generate_runbook.py |
Combine all scans → formatted Markdown runbook |
Generating a Runbook
Quickest — run all scanners inline and print to stdout:
python3 scripts/generate_runbook.py
Save to a file:
python3 scripts/generate_runbook.py --output ~/homelab-runbook.md
Save to workspace:
python3 scripts/generate_runbook.py --output /Users/openclaw/.openclaw/workspace/homelab-runbook.md
Pre-collect then generate (useful for cron or piping):
python3 scripts/scan_docker.py > /tmp/docker.json
python3 scripts/scan_services.py > /tmp/services.json
python3 scripts/scan_ports.py > /tmp/ports.json
python3 scripts/generate_runbook.py --docker /tmp/docker.json --services /tmp/services.json --ports /tmp/ports.json --output ~/homelab-runbook.md
Agent Workflow
When the user asks for a homelab runbook or service inventory:
- Run
generate_runbook.py(all scanners inline, save to workspace file). - Read the output file and summarize key findings:
- How many Docker containers are running and what they are
- Notable open ports and the processes owning them
- Any errors or warnings (Docker not found, permission denied, etc.)
- Offer to save to Obsidian vault if the user wants it persisted.
Use the --output flag to write to the workspace. Do not dump the full raw Markdown at the user — summarize it and offer the file path.
Edge Cases
- Docker not installed:
scan_docker.pyreturns{"error": "Docker not installed or not running", "containers": []}— runbook shows a warning, continues. - No containers running: Returns empty list, runbook shows "No running containers."
- Port scan permission denied:
scan_ports.pyreturns an error — runbook shows warning. Tell the user to re-run withsudoif full port visibility is needed. - Linux without systemd:
scan_services.pywill return an error — acceptable, runbook notes it.
Customization
See references/customization.md for:
- Excluding specific services/containers/ports
- Adding manual service notes (URLs, config paths, restart commands)
- Scheduling with cron
- Modifying output format
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install homelab-runbook - After installation, invoke the skill by name or use
/homelab-runbook - Provide required inputs per the skill's parameter spec and get structured output
What is Homelab Runbook?
Scan and document all running services on this machine — Docker containers, system services (launchd/systemd), and open listening ports. Generates a human-re... It is an AI Agent Skill for Claude Code / OpenClaw, with 124 downloads so far.
How do I install Homelab Runbook?
Run "/install homelab-runbook" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Homelab Runbook free?
Yes, Homelab Runbook is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Homelab Runbook support?
Homelab Runbook is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Homelab Runbook?
It is built and maintained by New Age Investments (@newageinvestments25-byte); the current version is v1.0.0.