Self-hosted uptime & availability monitoring — HTTP checks, Docker image probing, live status dashboards and Prometheus metrics out of the box.
A live view of your monitored resources. Each row shows current status, resource type and a 90-check timeline bar. Green = up, red = down, yellow = degraded.
All your services at a glance — uptime percentages, 24-hour timelines, and instant drill-down to full check history.
Kairos is batteries-included — no cloud dependencies, no per-check fees, fully self-hosted.
Periodic GET checks with configurable intervals and parallelism limits. Instant checks trigger on startup.
Validate image pullability via the OCI/Docker Registry HTTP API — manifest & blob probe, no Docker socket needed.
Provide a registry prefix and Kairos auto-creates resources for all discovered images with optional recursive traversal.
24-hour timelines, uptime percentages (24h / 7d / 30d), per-resource check history with filterable tables.
Publish rich-text announcements with INFORMATION, WARNING, or PROBLEM severity — with optional auto-expiry.
Native kairos_resource_status gauge per resource at /actuator/prometheus — plug straight into Grafana.
Organise services into named groups with drag-and-drop reordering within and across groups.
Machine-to-machine access via named API keys. OIDC/OAuth2 login with any OpenID Connect provider.
Start instantly with the embedded H2 database or switch to PostgreSQL with a single property. Flyway handles migrations.
Choose your preferred deployment method — from source, Docker, or Helm on Kubernetes.
git clone https://github.com/wenisch-tech/kairos.git cd kairos maven spring-boot:run
docker run -d \
--name kairos \
-p 8080:8080 \
-v kairos-data:/app/data \
ghcr.io/wenisch-tech/kairos:latest
helm repo add kairos https://charts.wenisch.tech
helm repo update
helm install kairos kairos/kairos --version 1.0.4 \
-n kairos --create-namespace \
--set persistence.enabled=true
Run with Docker, from source with Maven, or deploy to Kubernetes with the bundled Helm chart. Kairos is ready on port 8080.
Default credentials: admin@kairos.local / admin. ⚠ Change the password immediately after first login via Admin → Users.
Add HTTP services or Docker images via the Admin panel or the REST API. Kairos starts checking immediately — no wait for the first interval tick.
The public dashboard shows 24-hour timelines, current status and uptime percentages for all your resources.
Explore the full documentation with setup walkthroughs, configuration guides, and operational best practices.
Full REST API at /api with interactive Swagger UI auto-generated from the OpenAPI spec.
| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/resources | Public | List all active resources |
| GET | /api/resources/{id} | Public | Resource details + latest health status |
| POST | /api/resources | Admin | Add a new resource |
| DELETE | /api/resources/{id} | Admin | Delete a resource |
| GET | /api/resources/{id}/history | Auth | Full check history for a resource |
| GET | /api/announcements | Public | List all announcements |
| POST | /api/announcements | Admin | Create an announcement |
| PUT | /api/announcements/{id} | Admin | Update an announcement |
| DELETE | /api/announcements/{id} | Admin | Delete an announcement |
Interactive Swagger UI available at
/api
on your running Kairos instance.
Kairos is production-ready — deploy it, plug it into Prometheus, and forget about it.
# HELP kairos_resource_status 1=up 0=down -1=unknown kairos_resource_status{resource_name="Website",resource_type="HTTP"} 1.0 kairos_resource_status{resource_name="API Gateway",resource_type="HTTP"} 1.0 kairos_resource_status{resource_name="Container App",resource_type="DOCKER"} 1.0
Kairos is open-source under the GNU GPLv3 licence. Self-host it in minutes with Docker or Helm, no cloud account required.