Back to all posts

Introducing Checkstack: The Uptime Kuma Alternative with User Management and Incident Tracking

2026-01-186 min readUpdated 2026-05-25

Uptime Kuma is a great tool, but...#

If you're searching for user management with Uptime Kuma or wondering how to add team features to your uptime monitor, you've probably hit the same wall I did. Uptime Kuma is a fantastic tool for basic uptime monitoring, but when you need proper incident management, maintenance windows, and enterprise-grade access control, it falls short.

That's why I built Checkstack.

Why I Created Checkstack#

I've been using Uptime Kuma for years in my homelab. It's simple, lightweight, and gets the job done for basic health checks. But as my infrastructure grew and I started collaborating with others, I ran into limitations:

  • No user management - Uptime Kuma doesn't support multiple users with different access levels
  • No incident tracking - When something breaks, there's no way to document and communicate what happened
  • No maintenance windows - Can't schedule planned downtime without triggering false alerts
  • No team collaboration - No concept of teams or role-based access control

Checkstack was born to address these gaps while keeping what makes self-hosted monitoring tools great: simplicity, extensibility, and complete control over your data.

Checkstack vs Uptime Kuma: What's Different?#

Let me break down the key differences:

FeatureUptime KumaCheckstack
Health Checks✅ HTTP, TCP, Ping, etc.✅ HTTP, TCP, DNS, ICMP, RCON / Gameservers...
User Management❌ Single user only✅ Full multi-user with RBAC
Team Management❌ Not available✅ Teams with managers and members
Incident Management❌ Not available✅ Full incident lifecycle tracking
Maintenance Windows⚠️ Basic✅ Scheduled with auto-transitions
SSO/LDAP/SAML❌ Not available✅ GitHub OAuth, SAML 2.0, LDAP/AD
API Access⚠️ Limited✅ Full REST API with service accounts
Plugin System❌ Not available✅ Extensible backend and frontend plugins
Notifications✅ Many channels✅ Teams, Slack, Discord, Telegram, and more
Horizontal Scaling❌ Single instance only✅ Multiple replicas with shared PostgreSQL

Enterprise-Grade User Management#

This is where Checkstack really shines. You get:

  • Role-Based Access Control (RBAC) - Define custom roles with specific permissions
  • Resource-Level Access Control - Grant teams fine-grained access to individual systems
  • Team Management - Organize users into logical teams with designated managers
  • Directory Integration - Map LDAP/SAML groups directly to Checkstack roles

Perfect for enterprises where different teams need access to different parts of your infrastructure.

Incident Management That Actually Works#

When things break, you need to communicate clearly. Checkstack provides:

  • Incident Tracking - Document unplanned outages with status updates
  • Timeline Updates - Keep stakeholders informed as situations evolve
  • Affected Systems - Link incidents to impacted services
  • Realtime Updates - Changes broadcast instantly via WebSocket

Maintenance Windows with Smart Automation#

Schedule your planned maintenance and let Checkstack handle the rest:

  • Automatic status transitions from "Planned" → "Active" → "Completed"
  • Notification suppression during maintenance periods
  • Multi-system impact tracking
  • User notifications before and during maintenance

Perfect for Self-Hosters#

If you're running a homelab or self-hosting infrastructure, Checkstack fits right in:

bash
# Download the docker-compose file and start curl -O https://raw.githubusercontent.com/enyineer/checkstack/main/docker-compose.yml docker compose up -d

Note: Checkstack requires a few environment variables (DATABASE_URL, ENCRYPTION_MASTER_KEY, BETTER_AUTH_SECRET, BASE_URL). Check out the full Docker Getting Started Guide for complete setup instructions.

You get:

  • Complete data ownership - Everything runs on your hardware
  • Free to use - Source-available under the Elastic License 2.0 (ELv2). This means you can use, modify, and extend Checkstack freely for your own purposes, even in a commercial setting. The only restriction? Big SaaS providers can't take this code and sell it as a managed service without contributing back. I believe developers should be able to extend and customize their tools, while ensuring the project stays sustainable and isn't exploited by companies who want to profit without giving anything in return.
  • Simple deployment - Single Docker container
  • Low resource usage - Built with modern technologies (Bun, React)

Built for Enterprise Scale#

While Checkstack is simple enough for a homelab, it's designed to scale:

Horizontal Scalability#

One of the biggest limitations of Uptime Kuma is that it's single-instance only. It uses SQLite - a file-based embedded database stored locally - which means you can't run multiple replicas sharing the same data. If your Uptime Kuma instance goes down, your entire monitoring system goes dark.

Checkstack takes a different approach:

  • PostgreSQL-backed - All state lives in the database, not on local disk
  • Stateless workers - Run multiple Checkstack instances behind a load balancer
  • Redis-powered queues - BullMQ distributes health checks across workers
  • No single point of failure - Scale horizontally for high availability

This means you can deploy Checkstack in Kubernetes with multiple replicas, behind a load balancer, or in any distributed setup your infrastructure requires.

Enterprise Authentication & Access#

  • SAML 2.0 SSO - Connect to Okta, Azure AD, OneLogin, and more
  • LDAP/Active Directory - Enterprise directory integration with group mapping
  • External Applications - API keys for machine-to-machine access with full RBAC
  • Plugin Architecture - Extend with custom health check strategies, notification channels, and integrations

Example: Create an incident from an external alerting system:

bash
curl -X POST https://checkstack.local/api/incident/createIncident \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ck_<appId>_<secret>" \ -d '{"title": "High CPU Alert", "status": "investigating", "systemIds": ["..."]}'

The Technology Stack#

For the tech-curious, Checkstack is built with:

  • Frontend - React 19 with Tanstack Query and oRPC
  • Backend - Bun runtime with oRPC
  • Database - PostgreSQL with customized Drizzle ORM
  • Queue - BullMQ for background jobs
  • Architecture - Modular plugin system for extensibility

Everything is available on checkstack.dev.

Get Started Today#

Ready to upgrade your monitoring setup? Here's how to get started:

  1. Star the repo - github.com/enyineer/checkstack
  2. Visit the website - checkstack.dev
  3. Try the Docker image - Quick deployment for testing
  4. Read the docs - Comprehensive documentation included
  5. Join the community - Contribute plugins, report issues, or request features

Whether you're a homelab enthusiast looking for a more capable Uptime Kuma alternative, or an enterprise team needing proper access control and incident management, Checkstack has you covered.

The best part? It's completely free (even for commercial use!) and the source is available. Give it a try and let me know what you think!


Have questions or feedback? Feel free to open an issue on GitHub or reach out to me directly.

Frequently Asked Questions

How is Checkstack different from Uptime Kuma?

Checkstack keeps the parts of Uptime Kuma that work - simple monitor setup, clean status pages, sensible defaults - and adds the pieces teams actually need in production: real user management with roles and teams, incident tracking with timelines, and an audit log. It is built for the moment your monitoring stack outgrows a single shared login.

Is Checkstack free and self-hostable?

Yes. Checkstack is open source and ships as a container image you can run anywhere - homelab, VPS, or a Kubernetes cluster. There is no paid tier and no telemetry phoning home.

Can I migrate from Uptime Kuma to Checkstack?

Checkstack supports the same monitor types (HTTP, TCP, ping, DNS, push) so most of your existing checks port over directly. Migration tooling is on the roadmap; for now the recommended path is to set up Checkstack alongside Uptime Kuma, mirror your monitors, and switch over once you are happy.

Does Checkstack support status pages?

Yes. Public and private status pages are first-class, with the ability to scope which monitors and incidents appear on which page. You can run multiple status pages from a single Checkstack instance, which is useful if you operate several products or customer environments.