Open Source & Self-Hosted uptime monitoring for small teams to catch outages before users do

Engineering-grade uptime monitoring you own and control. No cloud dependencies, no vendor lock-in.

πŸ”“ 100% Open Source β€’ 🏠 Self-Hosted Only (for now)
Vigi

Available Monitors

Web & Network
HTTP/HTTPS β€” Monitor websites, APIs, and web services
TCP β€” Check TCP port connectivity and availability
Ping (ICMP) β€” Measure reachability and round-trip latency
DNS β€” Verify query responses and resolution times
Application & Infrastructure
Push (inbound webhook) β€” Accept heartbeats from jobs and services
Docker Container β€” Track container status and health
gRPC β€” Run gRPC health/service checks and latency
SNMP β€” Query device availability and key OIDs
Databases & Caches
PostgreSQL β€” Connect and run a lightweight query
Microsoft SQL Server β€” Connect and run a lightweight query
MongoDB β€” Ping/handshake and simple read
Redis β€” PING/latency and basic health
Messaging & Streaming
MQTT Broker β€” Connection/subscribe/publish smoke test
RabbitMQ β€” Connection and queue health
Kafka Producer β€” Produce a test message to a topic

Alert Channels

Email & Webhooks
Email (SMTP) β€” Send alerts through your SMTP server
Webhook β€” POST JSON payloads to any HTTP endpoint
Chat & Collaboration
Telegram β€” Bot messages to users/channels
Slack β€” Incoming webhook to channels
Google Chat β€” Space webhooks
Signal β€” Secure messages via bot/integration
Mattermost β€” Incoming webhook to channels
Matrix β€” Send to rooms via access token
Discord β€” Channel webhooks
WeCom β€” Enterprise messages to groups
WhatsApp (WAHA) β€” Via WAHA gateway
On-Call & Incident
PagerDuty β€” Trigger incidents and escalations
Opsgenie β€” Alerts, routing, and on-call
Grafana OnCall β€” Integrate with on-call schedules
Mobile Push & Self-Hosted
NTFY β€” Simple pub/sub push notifications
Gotify β€” Self-hosted push server
Pushover β€” Reliable mobile/desktop push

Tech Stack

Go (Golang) β€” High-performance lightweight concurrency
React + TypeScript β€” Type-safe admin panel and status pages
Docker β€” Easy to deploy and run
Data Storage (Selectable)
PostgreSQL β€” Relational database for structured data
MongoDB β€” Flexible document storage
SQLite β€” Single-file database for lightweight/self-hosted setups
Testimonials

What theCommunity Says

We welcome contributions!
"I've been following your releases and you guys have been putting in the work. I just updated and it's pinging great. Thanks! My first time following a project so early and I'm excited to see what the future holds."
"This might be a great alternative. I've definitely experienced performance issues with UK [the alternative service]. Thanks for building this!"
"This might be a great alternative. I've definitely experienced performance issues with UK [the alternative service]. Thanks for building this!"
"Looks cool and modern."
"This might be a great alternative. I've definitely experienced performance issues with UK [the alternative service]. Thanks for building this!"
"I've been following your releases and you guys have been putting in the work. I just updated and it's pinging great. Thanks! My first time following a project so early and I'm excited to see what the future holds."
FAQ

Still HaveQuestions?

Toggle answer What is Vigi?
Vigi is an open-source, self-hosted uptime monitoring and status page tool built with Go and React. It monitors websites, APIs, and internal services and sends real-time notifications when issues occur.
Toggle answer How does Vigi compare to Uptime Kuma?
Vigi offers a similar experience with a focus on strongly-typed code (Go + TypeScript), an API-first design with Swagger, and a modular architecture that makes it easy to extend and swap storage backends.
Toggle answer Does Vigi have public status pages?
Yes. You can publish branded public status pages that display uptime and performance metrics.
Toggle answer How do I deploy Vigi?
Use the official Docker images and docker-compose for a quick setup, or run the Go API and the React web app on a VM or bare metal.
Toggle answer What databases are supported?
Vigi supports MongoDB with options for PostgreSQL and SQLite through its pluggable storage design.
Toggle answer Is there a REST API?
Yes. Vigi is API-first and includes Swagger/OpenAPI documentation for automation and integrations.
Toggle answer Can I migrate from Uptime Kuma?
A migration tool is under development. For now, you can migrate manually.
Toggle answer Is Vigi free for commercial use?
Yes. It is MIT licensed and free for personal and commercial projects.

Self-hosted uptime monitor for service availability control

A self-hosted uptime monitor is the foundation of stable and predictable infrastructure. When websites, APIs, or internal services become unavailable, it's important to know immediately, not from users. Our service allows you to track infrastructure availability and operability in real-time, entirely within your environment and under your control.

The platform is deployed on your server or in your cloud and does not depend on external services. All monitoring data is stored with you, without being transferred to third parties. This approach is especially important for projects with increased security, privacy, and infrastructure management requirements.

Our self-hosted uptime monitor is suitable for both small teams and growing projects with distributed architecture. The system scales easily, doesn't tie you to third-party providers, and provides a transparent understanding of service status at any time.

Self-hosted uptime monitor capabilities

The platform supports a wide range of checks required for modern availability monitoring. You can track HTTP and HTTPS websites, API endpoints, TCP ports, ICMP ping, DNS queries, Webhook checks in push mode, databases, and message brokers. Docker container monitoring, gRPC services, and SNMP services are also supported, allowing you to control both the external perimeter and internal infrastructure components.

When problems occur, the service instantly sends notifications through convenient channels: Telegram, Slack, Email, WhatsApp, Discord, Webhook, and others. Notifications can be flexibly configured, separated by severity levels, and adapted to team processes so that responses are fast and without unnecessary noise.

For availability transparency, status pages are provided. They can be public for customers or private for internal use and display the current state of services in a clear, visual format. This helps reduce the number of support requests and increase trust in the service.

The platform is fully self-hosted: you choose the database β€” SQLite for an easy start or PostgreSQL and MongoDB for production workloads. You control data storage, access, and security. Two-factor authentication, brute-force attack protection, and SSL certificate expiration date monitoring are supported.

Our service is focused on teams that need a reliable self-hosted uptime monitor without vendor lock-in, with flexible configuration, a modern interface, and the ability to fully control the infrastructure. It helps detect failures in a timely manner, maintain service stability, and ensure operational transparency.