mirror of
https://github.com/rzuasti/oott.git
synced 2026-07-08 19:21:54 +02:00
2.4 KiB
2.4 KiB
OOTT
Easy to setup and use network device discovery and alert system
What is it?
OOTT provides a service that runs behind the scenes and monitors your local network. It's most relevant features are:
- Scan network regularly using ARP probes
- Notify when a new device is found
- Notify when a device changed it's IP address or network interface vendor (based on its MAC address)
- Notify when a device came back online after a configurable period of being offline
OOTT can be installed as a NixOS module (using flakes) or as a docker image, see below for instructions on how to deploy and configure it.
Installation & configuration
Install OOTT using Docker
TODO
Install OOTT using NixOS flakes
Configuration options
The system configuration is centralized in a single config file, you can use TOML, JSON or YAML to write it.
If you are using the provided NixOS flake you should set all the options via nix in the service definition (see above).
If you are using Docker I recommend writing the config using TOML, here is a sample with all the supported options.
Options list
| Option | Sample value | Description |
|---|---|---|
| database.path | /var/lib/oott.db | Location of the system database |
| networking.interface | eno1 | Network interface to use for scans |
| log.level | info | Log level to use (trace, debug, info, warn, error) |
| timings.wait_between_scans | 15m | Time to wait between each network scan (you can express it in seconds, minutes, hours, etc. as a suffix - for example: 30s, 10m, 1h) |
| timings.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) |
| timings.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) |
| notifications.notify_when_not_seen_for | 1w | Send a notification if a device comes back online after not being seen for this timeframe (you can use hours, weeks, etc.) |
| notifications.pushover.token | Your pushover token goes here, just copy&paste from their website after creating the app | |
| notifications.pushover.user_key | User key goes here, this is the account wide code for pushover |