Watchflare: Self-Hosted Server Monitoring
Open-source, self-hosted server monitoring: agents report metrics to the Hub over gRPC/TLS. Learn what the dashboard shows and which platforms are supported.
Watchflare is a self-hosted platform that monitors your hosts and tracks their software. It collects system metrics in real time (CPU, memory, disk, network, and temperatures) and maintains a full package inventory across your fleet: installed versions, daily change history, and available updates.
No cloud dependency. No data leaving your infrastructure.
Two components
Watchflare is made of two pieces that work together:
Hub is the central server. Deploy it once with Docker Compose or as a native Linux binary. It receives data from agents, stores it in a time-series database, and serves the web dashboard. The Hub is a single binary with the frontend embedded.
Agent is a lightweight daemon that runs on each host you want to monitor. It supports Linux and macOS, with Windows support planned. It collects system metrics every 30 seconds, sends a heartbeat every 5 seconds, and builds a daily package inventory. The agent uses minimal resources and runs as an unprivileged system user.
your-server-1 your-server-2 your-server-3
[ Agent ] [ Agent ] [ Agent ]
| | |
└──────────────────────┴──────────────────────┘
|
gRPC / TLS 1.3
|
[ Hub ]
dashboard + DB
What it monitors
| Category | Metrics |
|---|---|
| CPU | Usage %, iowait, steal (VMs) |
| Memory | Used, available, buffers, cached, swap |
| Disk | Total, used, read/write throughput |
| Network | Inbound/outbound bandwidth |
| Temperature | CPU and sensor readings (battery, storage, etc.) on physical hosts |
| System | Uptime, load average (1/5/15 min), process count |
| Containers | Per-container CPU, memory, network (Docker/Podman) |
| Packages | Installed packages, versions, and outdated detection across ~30 supported package managers |
What you get
- Real-time dashboard. Host status updates within 5 seconds via Server-Sent Events. No polling, no page refresh.
- Historical charts. Metrics stored in TimescaleDB with automatic aggregation. View 1h, 12h, 24h, 7d, and 30d time ranges.
- Package inventory. Full list of installed packages on every host, updated daily, with change history and outdated package detection.
- Alerts. Threshold-based alerts on CPU, memory, disk, load, and temperature, plus host-offline notifications delivered to any of the 26+ services supported by Shoutrrr (Discord, Slack, Telegram, Matrix, Ntfy, Gotify, SMTP, generic HTTP, and more).
- Write-Ahead Log. If the Hub is unreachable, the agent buffers metrics locally and replays them on reconnect. Metrics are not lost during brief outages: the WAL holds up to 10 MB by default (configurable via
wal_max_size_mb).
Self-hosted, by design
Watchflare runs entirely on your infrastructure. The Hub and its database live on a server you control. Agents communicate only with your Hub: no external services, no telemetry.
Note
Ready to get started? The Quickstart has you up and running in under 5 minutes.