ClawPing: dead-man-switch monitoring for mini lab boxes without port forwarding
I built this around a failure mode that shows up a lot on small home lab boxes: the thing watching the machine often lives on the same LAN, or on the same machine, so when the box disappears the monitor disappears too.
ClawPing takes a narrower approach:
- small Go agent on the mini PC / NAS / server
- outbound HTTPS heartbeats only, so no public IP or inbound port exposure
- Cloudflare Worker control plane with D1 for state, Durable Objects for alert dedupe, and Queues for Telegram delivery
It is not trying to be a full metrics stack. It is closer to a dead-man switch for private machines: missed heartbeats, stale backup markers, disk issues, and dead Docker containers go to Telegram.
Repo: https://github.com/cschanhniem/clawping
The design choice I am still tuning is where policy belongs. Right now the agent stays dumb and the control plane decides when silence becomes an alert. For people running tiny lab nodes, would you keep that split or push more logic back onto the box?