← All reportsPublic report

louislam/uptime-kuma

A fancy self-hosted monitoring tool

91k stars JavaScript View on GitHubprofiled 11d ago
Try GitZoid
84PRs this week
46Contributors
1202Deps scanned
0Issues found
01 · Repo overview

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

JavaScriptVue (SFC)TypeScriptGoSQLSCSS

Frameworks

ExpressSocket.IOVue 3ViteBootstrap 5Vue Routervue-i18n

Datastores

SQLite (@louislam/sqlite3)MariaDB/MySQL (mysql2, embedded-mariadb)PostgreSQL (pg, monitor target)MongoDB (monitor target)Redis (monitor target)MSSQL (monitor target)Oracle (oracledb, monitor target)

Infrastructure

DockerDocker ComposePM2Playwright (E2E)TestcontainersGitHub Actions

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.

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.

03 · Security check

Dependencies and code review

1202 dependencies scanned

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