Files
oott/examples/sample_oott.toml
T
rzuastiandClaude Sonnet 4.6 c7e1678407 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>
2026-05-28 09:00:36 -04:00

30 lines
1.5 KiB
TOML

[database]
path = "./oott.db" # Database path. Make sure it's writeable for the user running this process
[networking]
interface = "eno1" # Network interface to use for scans
[log]
level = "info" # off, error, warn, info, debug, trace
[timings]
wait_between_scans="10m" # Wait time between scans. This does not include the scan time
arp_sender_timeout="1m" # If the ARP sender process takes longer than this it will be stopped (for a class C network - 254 IPs - it should take less than a minute)
arp_scan_duration="10m" # How long to wait for response packets on each scan (5m to 10m is a good timeframe for a class B or C network)
[notifications]
method="pushover" # For now just pushover, you can set this to "none" to avoid sending notifications (it will just log)
notify_when_not_seen_for="1w" # Send a notification if a device comes back online after not being seen for this timeframe
[notifications.pushover]
token="" # Your pushover token goes here, just copy&paste from their website after creating the app
user_key="" # User key goes here, this is the account wide code for pushover
[web_server]
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)