941df0d0d24050b4eff60510f12672accaae1b1c
Post-outage recovery: a rogue OpenWrt device seized 192.168.1.13 after the power-cut reboot, ARP-poisoning the LAN so CT 311 was unreachable despite being healthy. Renumbered CT 311 .13 -> .216 (out of the conflict-prone low range, next to the DB at .215). Update push.sh + push-workers.sh defaults to root@192.168.1.216; push.sh no longer defaults to the void2-app hostname (that resolves to the Cloudflare tunnel and can't carry SSH). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Void 2.0
Homelab orchestrator + canonical knowledge store. Cradle-themed.
Successor to Void 1.x (CT 301). Spec at
/project/docs/superpowers/specs/2026-05-31-void-v2-design.md.
Layout
void-server(this repo) — Node API, MCP, UI, cron, agent runtimevoid-workers— Python ingest workers (separate repo, later plan)
Quick start (dev)
- Provision
void2-dbLXC (seedeploy/README.md) - Install Postgres + pgvector on
void2-db npm installcp .env.example .envand editnpm run migratenpm startcurl -H "Authorization: Bearer $OWNER_TOKEN" http://localhost:3000/health
Description
Languages
JavaScript
87.5%
CSS
6.4%
Python
5.2%
Shell
0.7%
HTML
0.2%