Watchflare docs
Sur cette page
Cette page n'est pas encore disponible en français. Vous lisez la version anglaise.

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

CategoryMetrics
CPUUsage %, iowait, steal (VMs)
MemoryUsed, available, buffers, cached, swap
DiskTotal, used, read/write throughput
NetworkInbound/outbound bandwidth
TemperatureCPU and sensor readings (battery, storage, etc.) on physical hosts
SystemUptime, load average (1/5/15 min), process count
ContainersPer-container CPU, memory, network (Docker/Podman)
PackagesInstalled 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.