Flatline
An Uptime Kuma fork with live server metrics.
A fork of Uptime Kuma by Louis Lam, with its MIT license and attribution retained.
- Year
- 2026
- Role
- Fork development, dashboard design, telemetry, and API

Overview
Flatline is my self-hosted monitoring fork of Louis Lam's Uptime Kuma, with upstream authorship and its MIT license retained. I added a React operator dashboard, a dense Superboard for live host and container telemetry, shared multi-user access, and a scoped REST API for scripts and AI agents. Telegram is the only notification path. The current deployment serves the Node.js backend, dashboard, and public status pages on one origin; a separate Go agent collects server metrics.
Technology
- React 19
- TypeScript
- Vite
- Tailwind CSS 4
- Node.js
- Express
- SQLite
- Go
- SSE
- Docker
Built around
- The screenshots are real app captures with generated fixtures, not a production installation. The project remains a credited Uptime Kuma fork—not a monitoring engine built from scratch.
- The Go agent pushes raw counters at 1Hz; the backend derives live utilization and streams updates through bearer-authenticated SSE. Historical readings are archived roughly every 30 seconds, with hourly rollups for longer retention, so live samples and historical percentiles are explicitly different.
- All operators share the same monitors without sharing a password. Single-use invitations and per-user read/write/publish tokens expose the same operations over REST, with a self-describing OpenAPI document for integrations.
- A disk-backed agent buffer preserves delayed samples across outages. Resource-pressure alerts use server-side debounce, cooldown, hysteresis, and recovery messages rather than paging on every one-second spike.
If I kept going
- Address inherited dependency advisories in a separate hardening pass without conflating them with dashboard changes.
- Explore Docker event subscriptions and private aggregate status views; neither is presented as an already shipped capability.
Project views

