louislam/uptime-kuma
A fancy self-hosted monitoring tool
How uptime-kuma is put together
Uptime Kuma is an easy-to-use self-hosted monitoring tool that tracks uptime for HTTP(s), TCP, DNS, Ping, Docker, and many other target types, with a reactive dashboard, status pages, and 90+ notification integrations. The backend is a Node.js server (server/server.js) built on Express and Socket.IO, using WebSocket (rather than a REST API) for real-time client-server communication of a Vue 3 SPA frontend. Data is persisted primarily via SQLite (through the redbean-node ORM and Knex migrations), with optional support for MariaDB/MySQL and embedded MariaDB. It supports monitoring plugins for numerous protocols/databases, JWT-based auth with 2FA, and is distributed via Docker.
Languages
Frameworks
Datastores
Infrastructure
Major components
Backend server (server/)
Node.js Express + Socket.IO server that runs monitors, serves the SPA, and handles real-time client communication.
Frontend SPA (src/)
Vue 3 single-page application providing the dashboard, status pages, and settings UI.
Database & migrations (db/)
Knex-based schema initialization and migration files plus legacy SQL patches defining the persistence layer.
Authentication & 2FA (server/auth.js, server/2fa.js)
Handles user login, JWT/basic-auth, password hashing, and TOTP-based two-factor authentication.
Notification providers (src/components/notifications)
Implements 90+ notification service integrations (Telegram, Discord, Slack, SMTP, etc.).
Monitoring engine (server/util-server.js, uptime-calculator.js, jobs.js)
Executes monitor checks across protocols and computes uptime statistics and scheduled jobs.
Proxy & remote browser (server/proxy.js, server/remote-browser.js)
Manages outbound proxy configuration and Playwright-based remote browser monitoring.
CLI/maintenance tooling (extra/)
Utility scripts for releases, password reset, 2FA removal, dist download, and dev servers.
Housekeeping to automatically flag duplicate issue reports on GitHub.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
Housekeeping to automatically flag duplicate issue reports on GitHub.
Week of 2026-08-17
Shipped the 2.5.1–2.5.3 releases with new notification providers and several monitoring fixes.
Week of 2026-08-10
Added a new notification provider and refreshed translations across many languages.
Week of 2026-08-03
Added two more notification providers and stabilized flaky tests.
Week of 2026-07-27
Released version 2.5.0 while adding several notification providers and fixing the automated release process.
Over the past several weeks, Uptime Kuma has focused heavily on expanding its notification options, adding many new ways to alert users (SMS gateways, chat apps, and push services), while also shipping the 2.5.x releases and ironing out the automated release process. Alongside this, the team fixed a range of monitoring bugs, refreshed translations in many languages, and set up automation to catch duplicate issues. The overall arc is a maturing product broadening integrations and stabilizing its release and maintenance workflows.
Week by week
2026-08-24Housekeeping to automatically flag duplicate issue reports on GitHub.latest2 changes
Chore
Duplicate-issue detection workflow
Added automation that checks newly opened issues to see if they duplicate existing ones.
Chore
Switched duplicate check to a free model
Adjusted the new workflow to use a cost-free AI model to avoid extra expense.
2026-08-17Shipped the 2.5.1–2.5.3 releases with new notification providers and several monitoring fixes.6 changes
Feature
Notify! and SMS Gateway notifications
Added two new ways to receive alerts, including a mobile push service and an SMS gateway.
Chore
Version 2.5.3 released
Published several new releases after fixing a wrong version number and re-running the release process.
Fix
Status code range kept on tag creation
Fixed a bug where custom accepted status codes were being discarded when creating a tag.
Fix
Corrected ping timeout settings
Fixed the monitor form where two ping timeout limits were accidentally swapped.
Chore
Dependency and translation updates
Refreshed underlying libraries and updated translations across many languages.
Fix
Database configuration corrections
Fixed MariaDB pool setup and a leftover data-type check on SQLite.
2026-08-10Added a new notification provider and refreshed translations across many languages.3 changes
Feature
Milky notification provider
Added Milky as another option for sending uptime alerts.
Fix
RADIUS challenge handled correctly
Fixed RADIUS checks so an Access-Challenge response is now treated as a success.
Chore
Translation updates
Updated translations for Spanish, Japanese, Russian, Korean, French and many more languages.
2026-08-03Added two more notification providers and stabilized flaky tests.3 changes
Feature
ClickUp notifications
Added the ability to send uptime alerts into ClickUp.
Feature
BearSMS provider for Israel
Added an SMS notification option tailored for Israel.
Chore
More reliable test suite
Fixed randomly failing tests by making external-service tests optional.
2026-07-27Released version 2.5.0 while adding several notification providers and fixing the automated release process.6 changes
Feature
TurboSMTP, openwa, and Pinglet notifications
Added three new notification providers, including email and WhatsApp options.
Chore
Version 2.5.0 released
Published the 2.5.0 release as part of building out a fully automated release process.
Fix
Spelling corrections
Fixed twelve spelling errors found across the codebase.
Fix
Corrected RSS status description
Fixed the RSS feed so it shows the right service status text.
Chore
Rootless Docker tag added
Added a new Docker image tag for running the app without root privileges.
Chore
Dependency and translation updates
Refreshed underlying libraries and updated translations.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 1202 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required