A self-hosted, multi-tenant status and uptime monitoring platform for websites, mail servers, DNS, VPN, IoT devices, and TP-Link Omada networks.
v3.4.0 — Simplified back to single-server — the HA/auto-failover feature was fully removed. The operational cost (bidirectional MariaDB replication, promote webhook, split-brain guard, Cloudflare Load Balancer) was out of proportion for a self-hosted monitor. Core app behaviour is identical — no migration, no config changes, no downtime to upgrade.
v3.3.5 — Semver version-check fix — admin UI no longer incorrectly flags a newer local build as "update available." Switched to proper numeric semver comparison. Also hardens the promote script with auto-detection of Portainer-managed containers.
v3.3.2 — GET /health endpoint — unauthenticated liveness
probe returning DB reachability, poll-loop freshness, uptime, and server count. Returns
200 / 503 — compatible with Cloudflare LB, AWS ALB, and any HTTP uptime monitor.
v3.3.1 — Security patch 🔒 — ReDoS-safe subscribe endpoint, API key names HTML-escaped, key storage upgraded to HMAC-SHA256. Read the full release notes →
Applegate Monitor is a self-hosted, multi-tenant status and uptime monitoring platform built by Richard Applegate. It gives you a clear, real-time picture of every service you run — websites, mail servers, DNS, VPN endpoints, IoT devices, and network gear — all from a single deployment. No SaaS. No monthly fees. Your data on your server.
One install serves unlimited branded status pages, each with its own logo, color scheme, slug, and even a custom domain. Whether you're running a homelab, a small-business network, or managing infrastructure for multiple clients, Applegate Monitor is designed to alert you before your customers do.
Every server can run one or more checks simultaneously. All checks record response time per poll, so you can spot degradation before it becomes downtime.
Classic ping check with round-trip latency — the fastest way to confirm a host is reachable.
Raw port probes for custom services, databases, or WireGuard VPN endpoints (e.g. UDP 51820).
Full HTTP requests with status-code validation, response time, SSL certificate tracking, and optional keyword body match (contains / not_contains).
Resolves A, AAAA, CNAME, MX, TXT, or NS records with optional expected-value assertions.
Live WAN status, link speed, uptime, and WAN IP from TP-Link Omada SDN controllers (Open API v6).
Cellular / LTE backup WAN monitoring on Omada gateways — know when your failover is live.
Monitor individual access points and switches by MAC address — track connectivity and device health across your Omada SDN fabric.
Monitor Square POS locations for ACTIVE status and online device count. Centralized account management — store credentials once, reference by ID across all checks.
This is where Applegate Monitor stands apart from typical uptime tools. From a single deployment you can spin up unlimited branded status pages — each with its own logo, accent color, background, subtitle, slug, and even a fully custom domain.
Viewers assigned to a dashboard see only the servers in their group. Other dashboards — and the servers on them — are completely invisible. Admins see a master view across every group.
Add a Custom Domain to a group and point DNS at your server —
the app reads the Host header and serves the correctly branded dashboard automatically.
Server-Sent Events push live status changes to every open browser. No polling, no refresh.
Discord, Slack, Teams, Telegram, Pushover, Email, or Generic JSON — auto-detected from the URL. Test button built in.
Automatic TLS expiry detection on every HTTPS check, with days-remaining shown on the server detail view.
24h / 7d / 30d uptime percentages, 24-hour response-time chart, and a 90-check heartbeat bar.
Admin and Viewer roles with per-group scoping — viewers can edit their own servers but never see others'.
Clean, focused dark UI tested on iOS, Android, and desktop — optimized for operators who live in terminal windows and dashboards.
Every admin action — logins, server/user/group changes, password resets — is recorded with timestamp, identity, and IP. Filterable with pagination.
Single-transaction MariaDB dumps with gzip compression and auto-pruning. Cron-compatible backup script with a confirmation-gated restore.
Sign in with Google — credentials stored securely in the database with CSRF protection. Local login still available.
First name, last name, and email fields on every account. Admins can manage all profiles from the user administration panel.
Organize servers into a two-level hierarchy — Sections and Sub-sections — with collapsible headings for clean, scalable dashboards.
Live filtering by name, host, section, sub-section, or description — available in both the main dashboard and admin drawer.
Collapse or expand dashboard group headers with a smooth chevron animation. Preference persists across page reloads via localStorage.
Click any red heartbeat indicator to instantly see all matching incidents within a ±90-second window — quick incident history without leaving the dashboard.
Add a description to any server — shown on the dashboard card below the server name and in the admin sidebar as a third line for quick context.
All topbar nav items collapse into a clean dropdown at ≤1100px — fully usable on phones and tablets without a cramped header.
Custom-domain routing works reliably behind Cloudflare Tunnel, Caddy, nginx, and other reverse proxies via multi-source hostname detection.
Share Square accounts with specific dashboards via an "Allowed Dashboards" selector — viewers only see credentials scoped to their groups.
Assert that an HTTP response body contains or not_contains a specific string — catches maintenance-mode pages that silently return 200 with error content.
Attach a markdown runbook to any server. When it goes down or degrades, the runbook appears in the detail panel for logged-in users — no more hunting for recovery steps mid-incident.
Automated uptime summary email every Monday at 09:00 UTC covering all your servers. A manual "Send Now" button is available in the admin panel whenever you need it.
Drop live SVG badges into your READMEs, docs, or internal dashboards — no third-party service, no rate limits, no sign-up. Badge URLs are generated right inside the server edit form for easy copying.
Color thresholds are sensible out of the box — uptime green ≥ 99%, yellow ≥ 95%, red below — and every parameter (label, value text, warn/down days) is overridable via query string.
Most people only find out their website went down when a friend texts them — or worse, when a customer complains. Downtime costs trust, and trust is hard to rebuild. Applegate Monitor flips that dynamic: you get the alert, you investigate, and you fix it before it becomes a headline.
Unlike heavyweight platforms that require cloud accounts or charge per-monitor fees, Applegate Monitor is fully self-hosted. Your monitoring data stays on your machine, on your terms. No external dependency. No subscription.
Self-host alongside your existing Docker stack and get a consolidated status view for every service — NAS, media, VPN, reverse proxy — in one clean dashboard.
One deployment, one login per client, perfectly isolated dashboards. Viewers never see other tenants. No SaaS dependency. No per-seat pricing.
The license is non-commercial by default — but businesses are welcome to reach out. Richard is open to custom licensing arrangements. Contact him before deploying in a commercial setting.
Source is available on GitHub for personal study and homelab use. Bug reports and feature ideas are welcome — if you'd like to contribute code or fork for your own use, reach out first to discuss.
Applegate Monitor is one of the very few status tools with built-in TP-Link Omada SDN support — surface live WAN status, link speed, uptime, and even cellular LTE failover health directly inside your dashboard. Ideal for anyone running Omada gateways at home or across multiple sites.
Deploy on any Linux host with Docker. A MariaDB container, a session secret, and a reverse proxy (Caddy recommended) are all you need:
On first visit you'll be prompted to create your admin account. After that, create a dashboard (group), add your servers, and share the dashboard URL with viewers. Full setup guide in the README.
Applegate Monitor is source-available — you can view, study, and run it on your own hardware for personal and homelab use. The source is published on GitHub so you can audit every line before deploying it.
The license is proprietary: commercial use, redistribution, and modification require prior written permission from the author. If you're a business or contributor who wants to deploy it, fork it, or collaborate on features, reach out to Richard directly. He's genuinely open to custom licensing, partnerships, and community contributions when discussed first. The goal is to help the community — not to build walls.
This project was designed, built, and is maintained by Richard Applegate. Claude by Anthropic is used as a coding assistant to help with bug fixes, feature improvements, security hardening, and code modifications. Claude did not create this project — all product decisions, architecture, and direction are made by the author.
See the live status page, star the repo, and start monitoring your infrastructure the way it was meant to be — self-hosted, transparent, and yours.