Navigate:
Uptime Kuma
~$UPTI0.5%

Uptime Kuma: Self-hosted monitoring and status pages

Node.js application monitoring HTTP, TCP, DNS, and ping endpoints.

LIVE RANKINGS • 12:16 PM • STEADY
TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100
OVERALL
#74
14
CLOUD & DEVOPS
#5
2
30 DAY RANKING TREND
ovr#74
·Cloud#5
STARS
83.3K
FORKS
7.4K
7D STARS
+447
7D FORKS
+41
See Repo:
Share:

Learn more about Uptime Kuma

Uptime Kuma is a self-hosted monitoring tool built on Node.js that tracks service availability across multiple network protocols including HTTP, TCP, DNS, and ICMP ping. The application establishes real-time bidirectional communication between its server component and browser clients using Socket.IO, while the frontend is constructed as a Vue.js single-page application that receives live monitoring updates. Monitoring data, configuration settings, and historical uptime metrics are persisted in a local SQLite database, enabling stateful tracking of service health over time. The architecture supports flexible deployment through Docker containerization or direct Node.js execution on traditional server infrastructure. This design prioritizes ease of self-hosting and minimal external dependencies, making it suitable for internal network monitoring and generating public-facing status pages without relying on third-party monitoring services.

Uptime Kuma

1

Multi-Protocol Monitoring

Monitors HTTP(s), TCP, ping, DNS, Docker containers, and Steam servers through a single application. Eliminates the need for multiple specialized monitoring tools across diverse infrastructure components.

2

90+ Notification Integrations

Built-in support for Telegram, Discord, Slack, email, and 85+ other services without external dependencies. Notifications trigger automatically on status changes with no additional integration configuration required.

3

Self-Contained Deployment

Runs as a standalone Node.js application with local SQLite storage and no external service dependencies. Operates in air-gapped or isolated network environments without cloud connectivity requirements.


import io from 'socket.io-client';

const socket = io('http://localhost:3001');

socket.on('monitorList', (monitors) => {
  monitors.forEach(monitor => {
    console.log(`${monitor.name}: ${monitor.active ? 'UP' : 'DOWN'}`);
    console.log(`Uptime: ${monitor.uptime}%`);
  });
});

socket.emit('login', { username: 'admin', password: 'password' });

v2.1.0

Major feature release adding Jira Service Management, Google Sheets notifications, and enhanced Discord/ntfy customization.

  • feat(notification): add Jira Service Management as a notification provider
  • feat: add google sheets notification provider
  • feat(discord): add custom message and format presets for notifications
  • feat(ntfy): add custom title and message templates for notifications
  • fix: certificate expiry (use Settings.set instead of Settings.setSetting)
v2.1.0-beta.3

Beta release with Google Sheets notifications, enhanced ntfy features, and WeCom mobile list support.

  • feat: add Google Sheets notification provider
  • feat(ntfy): include tag values in ntfy tags array
  • feat(ntfy): add monitor metadata to notification messages for automation
  • feat(notification): add WeCom mentioned mobile list support
  • feat: add screenshot delay option for Browser Engine monitor
v2.1.0-beta.2

Beta release featuring improved Slack notifications, JSON Query retry options, and bulk management capabilities.

  • feat(notification): expose path vars and improve Slack rich message
  • feat: Add option to retry only on status code failure for JSON Query monitors
  • feat: Add configurable response data storage for notifications
  • feat(nostr): switch to gift-wrapped events
  • feat: Rework how selected actions to perform pause, resume work and add a bulk-delete option

See how people are using Uptime Kuma

Loading tweets...


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers