Add retention policy for device_events and notifications

Purges records older than a configurable window (default 365d) once per day.
Also adds a composite index on device_events(mac_address, created_on DESC) for
efficient scan history queries at scale, and fixes a non-deterministic pagination
order by adding id as a tiebreaker to ORDER BY.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
rzuasti
2026-05-28 09:00:36 -04:00
co-authored by Claude Sonnet 4.6
parent 888f18603f
commit c7e1678407
8 changed files with 197 additions and 10 deletions
+3
View File
@@ -24,3 +24,6 @@ user_key="" # User key goes here, this is the account wide code for pushover
ip_address="0.0.0.0" # IP to bind the web server for the API and web UI to, use 0.0.0.0 to bind it to all interfaces
port=3000 # Port to listen on
api_key="CHANGE_ME" # API Key to use the system's API, change this!
[retention]
window="365d" # How long to keep device events and notifications. Records older than this are deleted daily. Supports: d (days), w (weeks), h (hours), m (minutes)