github SikamikanikoBG/homelab-monitor v0.24.0
v0.24.0 — A restructured engine underneath, and controls on by default

5 hours ago

The ~7,600-line app.py monolith is now a proper backend/ module tree — behavior unchanged, backed by a 71-snapshot test suite and a CI gate that fails the build on a silent except: pass. Separately, container/service start-stop-restart controls (plus self-update) flip from opt-in to on by default — worth a glance at your compose file before you upgrade.

Changed

  • Container/service start-stop-restart controls, and self-update, are now on by default. Previously both needed explicit opt-in (ENABLE_CONTROLS=1, ALLOW_SELF_UPDATE=1). The shipped docker-compose.yml now mounts the Docker and D-Bus sockets read-write by default so both write paths work out of the box. Want the old fully read-only posture back? Bring the stack up with the new docker-compose.readonly.yml override, or set either flag to 0. Containers: local host only for now. Services: local systemd, remote Linux/Unix (SSH + systemctl), remote Windows (SSH + PowerShell). Buttons stay disabled with an explanation when the underlying sockets aren't present; a real failure (permission denied, non-admin Windows session) surfaces the actual error, never a generic one. (#229)

Added / Internal

  • app.py extracted into a backend/ module tree. All 54 routes, every collector, probe and notify path, and all DB access now live in backend/api/, backend/collectors/, backend/probes/, backend/notify/ and backend/db/ (thread-local connections, a versioned migration runner, repo shims instead of raw SQL scattered everywhere) — HTTP responses byte-identical (71-snapshot suite). New rollup tables (samples_1h/net_samples_1h) make long-range Costs/heatmap queries cheap. Alert edge-state (_NOTIFIED, uptime down-since) now persists to the DB, so a restart no longer risks a duplicate or missed alert. Each background worker runs in its own thread with a watchdog that logs a stall instead of hanging silently. (backend architecture refactor by @pehota, #230)

Full changelog: https://github.com/SikamikanikoBG/homelab-monitor/blob/main/CHANGELOG.md

Don't miss a new homelab-monitor release

NewReleases is sending notifications on new releases.