Uptime Kuma: Self-hosted monitoring and status pages
Node.js application monitoring HTTP, TCP, DNS, and ping endpoints.
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.
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.
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.
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' });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)
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
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
Top in Cloud & DevOps
Related Repositories
Discover similar tools and frameworks used by developers
Kubespray
Production-grade Kubernetes deployment via Ansible playbooks.
OpenZFS
Enterprise filesystem with volume management, data integrity, snapshots, and compression.
Proxmox VE Helper-Scripts
Shell scripts that automate Linux container and VM creation on Proxmox VE with interactive configuration dialogs.
Portainer
Web-based management platform for multi-orchestrator container environments.
Configure AWS Credentials
GitHub Action for AWS credential resolution in workflows.