DumbMonit
Version 0.15.0, before 1.0 MIT, no paid edition

Monitor your homelab from one container.

One container watches servers, network gear, NAS, hypervisors, cloud services and websites. Useful alert rules are on from the start, and they stay quiet until something needs you.

OverviewLiveYour turn: pick a row
nas-02Synology DSM

Response time, last hour

No alert on this monitor.

Why DumbMonit

Everything in one place, nothing to assemble

  • One container, one minute

    A single container with one volume and no extra capability. Open the page, create an account, add a monitor: graphs and alerts follow.

  • Alerts that stay quiet

    Useful rules are on from the start. Dependencies, grouping and learned baselines turn thirty messages into one.

  • 113 monitor types

    Switches, firewalls, hypervisors, NAS, websites, databases and self-hosted apps, each read the way its vendor intends.

  • Teams and clients

    Roles, per-folder rights, on-call and escalation. MSP mode keeps each client's sites, alerts and reports apart.

  • Status pages

    Public or private pages for your users and clients, with history, incidents and subscribers.

  • Open API and GitOps

    Every route in OpenAPI, scoped tokens, configuration as YAML, a CLI, a Terraform provider and an MCP server.

See all the features

How it works

Simple to run, simple to reason about

One process supervises everything. Probes go out, agents call in, and every alert passes through one engine.

Architecture

Browser:8080
Agents:8443 · mTLS
Devices and servicesSNMP, vendor APIs, HTTP, ping
One container · /data volume
DumbMonit serverAPI, interface, scheduler, alert engineRust
VictoriaMetricsmetrics
SQLiteconfiguration and history
One Rust binary with the interface built in. It starts VictoriaMetrics for metrics and keeps its configuration in SQLite: one volume to back up.

The path of an alert

01Probea check fails or a value crosses a rule
02Alert enginehold time, hysteresis, maintenance windows
03Dependencieswhat sits behind a down parent is suppressed
04Notificationone message, grouped by host
A switch goes down: you get one notification for the switch, not one for each device behind it.

Integrations

What can it watch?

Pick a family to see what is watched, the alert rules that come with it and what to prepare on the device.

  • Servers and hardware

    Linux, Windows, macOS and FreeBSD machines through the agent, server hardware through its management controller, UPS units and Active Directory.

    7 monitor types

  • Network equipment

    Switches, routers, access points and VPNs: any SNMP device, MikroTik, UniFi, Tailscale and OpenVPN.

    11 monitor types

  • Cloud services

    Microsoft 365, Entra ID, Azure, AWS, Cloudflare, Hetzner, OVHcloud and Infomaniak: service health, licences, secrets about to expire, tunnels, servers and alarms.

    8 monitor types

  • Firewalls

    OPNsense, pfSense, FortiGate and Sophos: gateways, tunnels, interfaces, high availability and licences.

    6 monitor types

  • Hypervisors and clusters

    Proxmox, vSphere, XCP-ng, Nutanix and Kubernetes: hosts, guests, storage and cluster health.

    6 monitor types

  • NAS and backup

    Synology, TrueNAS, Unraid, Proxmox Backup Server and Veeam: disks, pools, and the age of the last good backup.

    10 monitor types

  • Websites, certificates and checks

    Web pages and APIs, ports, DNS, ping, TLS certificates, time servers, domain expiry, heartbeats and website changes.

    15 monitor types

  • Web servers and reverse proxies

    Traefik, Caddy, Nginx, Apache and Nginx Proxy Manager: backends, certificates and error rates.

    5 monitor types

  • Self-hosted applications

    Nextcloud, Immich, Paperless-ngx, Jellyfin, Plex, Home Assistant, GitLab and Forgejo.

    18 monitor types

  • DNS, mail and security

    Pi-hole, AdGuard Home, CrowdSec, and the mail servers and gateways: SMTP, MDaemon, SecurityGateway and Proxmox Mail Gateway. Blocklist monitors for a mail server or an IP range.

    12 monitor types

  • Databases and observability

    PostgreSQL, MySQL, MongoDB, Redis, RabbitMQ, MQTT, and the VictoriaMetrics, Loki and Graylog servers.

    15 monitor types

Browse all 113 monitor types

Who it is for

From a rack at home to the networks of your clients

  • Homelab

    Your own network

    Proxmox, a NAS, a firewall, a few self-hosted apps. Add each one by its address and get graphs and alerts without writing a single query.

  • Small businesses

    An IT team of one to ten

    Active Directory, Microsoft 365, Windows and Linux servers, switches and backups. Roles, on-call and SLA reports, with no per-device pricing.

  • MSPs

    The networks of your clients

    One instance, several clients. A relay agent per site, outbound only, and each client's alerts, reports and status pages kept apart.

In figures

  • 113monitor types
  • 34notification channels
  • 9languages
  • 1container to run
  • 0 €licence cost, MIT

Docs and community

Built in the open

Code, issues, roadmap and releases are on GitHub. Questions, ideas and device requests go to the discussions.

  • Open source, all of it

    MIT, dependencies included: CI fails on any dependency that is not under an OSI-approved licence. No feature is held back for a paid edition, because there is none. DumbMonit is 100% free and will stay free.

  • Security checks, in the open

    The project is graded in public by the OpenSSF. These links open the live results. OpenSSF Best Practices · OpenSSF Scorecard

  • Tell us what breaks

    A monitor that reads wrong, an alert that woke you for nothing, a page that confused you: each report makes the next release better. Requests for a new kind of monitor are welcome too.

Ready in a minute

Three commands, or look at the live demo first.

$ mkdir dumbmonit && cd dumbmonit
$ curl -fsSLO https://raw.githubusercontent.com/laupernoe/dumbmonit/main/docker-compose.yml
$ docker compose up -d

Then open http://localhost:8080 and create the first account. Image for amd64 and arm64: ghcr.io/laupernoe/dumbmonit.

DumbMonit is before 1.0 (0.15.0 is the current release). It runs every day on its author's network, but the HTTP API and the database schema can still change between minor versions; the changelog says how to upgrade. Some integrations have only met test instances. Try it, and tell us what breaks.