My homelab had identity, a reverse proxy and a firewall — and only the firewall produced any security telemetry. Authentik’s events stayed in its own database, Caddy wrote no access log at all, and 28 containers logged to disk with nothing reading them. Nothing needed installing; it was a sources gap, which is the kind that hides well because every service looks healthy.
This page is the result: what feeds the SOC, what it detects, how an alert reaches me, and what I still haven’t got right. The detection catalogue lists every rule with its live expression; the write-up covers the bugs found along the way — including two I introduced myself.