Open Source • Self-Hosted • GPL-3.0

Infrastructure
Monitoring
Made Simple

Self-hosted uptime monitoring with real-time WebSocket updates, beautiful status pages and multi-region distributed monitoring. Monitor websites, databases, games and more.

16
Protocols
15
Themes
Monitors
<1s
Real-time

Everything You Need for Reliable Monitoring

A complete monitoring solution with real-time updates, beautiful status pages and flexible alerting - all self-hosted and privacy-respecting.

Real-Time WebSocket

Instant status updates via WebSocket connections. No polling, no delays - see changes as they happen.

Beautiful Status Pages

15 stunning themes, responsive design and customizable branding. Public or password-protected pages.

Hierarchical Groups

Organize monitors into nested groups with customizable health strategies: any-up, all-up or percentage.

Custom Metrics

Track up to 3 custom numeric values per monitor. Player counts, connections, memory usage - anything you need.

Multi-Channel Alerts

Discord, Email, Ntfy, Telegram and Webhook notifications. Down, still-down and recovery alerts.

Multi-Region Monitoring

Deploy PulseMonitor agents globally for distributed monitoring. Check from multiple locations simultaneously.

Historical Data

Raw pulses for 24h, hourly aggregates for 90 days, daily aggregates forever. Powered by ClickHouse.

Hot Reload

Update configuration without restarts. Add monitors, change intervals or modify groups on the fly.

Self-Hosted & Private

100% self-hosted. Your data stays on your infrastructure. No external dependencies or tracking.

HTTP
TCP
MySQL
Redis
ICMP
SMTP
WS
UDP
16 Protocols

Monitor Any Service

From web endpoints to databases, email servers to game servers. PulseMonitor supports 16 protocols out of the box with configurable timeouts and authentication.

HTTP / HTTPS
WebSocket
TCP / UDP
ICMP (Ping)
SNMP
MySQL / MariaDB
PostgreSQL
MSSQL
Redis
SMTP / IMAP
Minecraft Java / Bedrock

Built for Scale & Reliability

A modular architecture with distributed monitoring agents, real-time WebSocket updates and high-performance ClickHouse storage.

Up and Running in Minutes

Simple TOML configuration makes setup straightforward. Add monitors, groups and status pages with just a few lines.

config.toml
# ClickHouse connection
[clickhouse]
url = "http://user:pass@clickhouse:8123/uptime_monitor"

# Define a monitor
[[monitors]]
id = "api-prod"
name = "Production API"
token = "tk_prod_api_secret"
interval = 30
maxRetries = 2
resendNotification = 12
notificationChannels = []

# Optional: Configure PulseMonitor for automated checks
[monitors.pulse.http]
method = "GET"
url = "https://api.example.com/health"
timeout = 10

# Create a group
[[groups]]
id = "production"
name = "Production Services"
strategy = "percentage"
degradedThreshold = 50
interval = 30
children = ["api-prod"]

# Create a status page
[[status_pages]]
id = "public"
name = "Production"
slug = "public"
items = ["production"]
Live Demo

See It In Action

Check out our live status page powered by Uptime Monitor - monitoring real production services.

status.passky.org View Live Status Page