sourcegraph/checkup

Distributed, lock-free, self-hosted health checks and status pages

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 1 hour ago
Added to GitGenius on September 20th, 2026
Created on April 13th, 2016
Open Issues & Pull Requests: 29 (+0)
GitHub issues: Enabled
Number of forks: 246
Total Stargazers: 3,457 (+0)
Total Subscribers: 113 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 643 days
Stale 30+ days: 2
Stale 90+ days: 2

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Checkup is a distributed, lock-free, self-hosted health check and status page tool written in Go.

Checkup solves the problem of monitoring service availability and displaying status to users without requiring a centralized coordinator or external dependencies. It works by separating concerns into three components: a storage backend where check results are persisted, checker instances that run health checks on endpoints at configurable intervals, and a status page that displays results to users. The tool supports multiple checker types including HTTP, TCP with TLS, DNS, and TLS certificate validation. Results can be stored in Amazon S3, local filesystems, GitHub, MySQL, PostgreSQL, SQLite3, or Azure Application Insights, allowing operators to choose infrastructure that fits their existing setup.

Teams should adopt Checkup when they want to self-host health monitoring without vendor lock-in or complex orchestration. It suits projects that need flexibility in where checks run and where results are stored, particularly those already using Go or comfortable with JSON configuration. The tool provides both a CLI and an idiomatic Go library with symmetric configuration between them, making it accessible whether you prefer command-line usage or programmatic integration. The minimalistic design means less operational overhead compared to larger monitoring platforms.

The project is maintained as a work-in-progress with active development introducing breaking changes to improve consistency, such as renaming configuration fields and deprecating older storage engines in favor of modern database backends. Build tooling has been refined to support optional features through tagged builds, allowing users to include only the database drivers they need. The maintainers have made explicit changes to logging behavior and status page defaults, indicating ongoing refinement of the user experience based on practical usage patterns.