Operational knowledge base for the Wittycomp Lab homelab stack — workflows, scripts, and runbooks that document how and why things are done, not just what exists.
workflows/ Processes with context, rationale, and step-by-step guides
scripts/ Executable helpers — shell, Python, curl one-liners
reference/ Static registries: IP allocations, port map, secret sources
- Add a New Service — full checklist from IP allocation → CF tunnel → commit
- Add a New Subdomain (CF) — 4-step CF tunnel + DNS + Caddy process
- Arr Tagging & Metadata Strategy — tag taxonomy, bulk API tagging, Beets, Frigate→HA event pipeline
- Frigate Camera Setup — add IP cameras, zones, HA integration, hardware acceleration
- Provision BookStack Content — create books/chapters/pages via REST API
- Deploy a ZIM to Kiwix — add offline content to kiwix.wittycomp.com
- Obsidian LiveSync Setup — configure vault sync on desktop + Android
- IP Allocation Registry — all VLAN30
.30.xaddresses, reserved ranges - Port Registry — service → port map to avoid collisions
- Secret Sources — which Vaultwarden item holds which credential
- ZIM Catalog — all ZIM files deployed to kiwix.wittycomp.com
- kiwix-serve-witty.sh — systemd wrapper; globs ZIMs and launches kiwix-serve
- provision-bookstack.sh — BookStack API content provisioning helper
- cf-add-subdomain.sh — automates all 4 CF subdomain steps via API
| Repo | Purpose |
|---|---|
| wittycomp-lab | Compose files, Caddyfile, SERVICES.md — the primary infra repo |
| witty-blueprints | Architecture diagrams and planning docs |
| lazarus-recovery-stage | Lazarus AI agent identity and config |
- Every workflow has a Why section explaining the motivation
- Scripts include usage examples and expected output
- When a workflow references a file in another repo, it links directly to the path in that repo
- IP/port assignments here must stay in sync with SERVICES.md