uptimekit logo

uptimekit

Uptimekit provides distributed monitoring and status page

Website GitHub

What is it?

What it is

UptimeKit is an open‑source, modern status page and monitoring platform that lets you track the uptime of HTTP/TCP services, publish status pages, manage incidents, and analyze performance metrics.

Why it exists

It was created to provide a single, self‑hostable solution that combines real‑time monitoring, incident reporting, multi‑tenant support, and analytics, eliminating the need for multiple disparate tools.

Who should use it

Developers, DevOps engineers, SREs, and product teams who need a self-hosted status page and monitoring solution with multi-tenant support.

Who should avoid it

Users looking for a fully managed SaaS status page, non-technical users unwilling to manage infrastructure, or those needing only basic uptime checks without customization.

How it works

A quick walkthrough in plain English

How uptimekit works

Step 1 of 3

You interact with it

Open uptimekit, send a request, or connect it to your stack.

Features

Real-time HTTP/TCP monitoring
Customizable status pages
Incident management
Multi-tenant organization support
Detailed uptime and response time analytics
Distributed worker architecture
Self-hostable via Docker
Instatus integration

Advantages

  • Scalable through distributed workers and app replicas
  • High level of data and infrastructure control via self-hosting
  • Comprehensive tech stack including Clickhouse and PostgreSQL
  • Modern, customizable UI themes

Disadvantages

  • Requires multiple dependencies (Redis, PostgreSQL, Clickhouse) for full functionality
  • Complexity in managing distributed worker nodes

Installation

docker

curl -o docker-compose.yml https://raw.githubusercontent.com/uptimekit/uptimekit/main/docker-compose.yml && curl -L https://raw.githubusercontent.com/uptimekit/uptimekit/refs/heads/main/.env.example -o.env

# Edit.env variables
# APP_SECRET=change_me_to_a_secure_secret
# APP_URL=http://localhost:3000

docker compose up -d

compose

curl -o docker-compose.yml https://raw.githubusercontent.com/uptimekit/uptimekit/main/docker-compose.yml && curl -L https://raw.githubusercontent.com/uptimekit/uptimekit/refs/heads/main/.env.example -o.env

# Edit.env variables
# APP_SECRET=change_me_to_a_secure_secret
# APP_URL=http://localhost:3000

docker compose up -d

FAQ

How do I get UptimeKit running locally on my machine?

First, download the `docker-compose.yml` and `.env.example` files with the provided curl commands. Edit the `.env` file to set `APP_SECRET`, `APP_URL`, and optionally `APP_STATUS_PAGE_DOMAIN`. Then run `docker compose up -d` to start all services. After the containers are up, follow the on‑screen setup steps in the web app to finish the installation.

What are the prerequisites for running UptimeKit?

UptimeKit requires Redis, PostgreSQL, and optionally ClickHouse for analytics. Ensure these services are available and configured before starting the Docker compose stack.

Can I run multiple workers or app replicas?

Yes. UptimeKit is designed as a distributed monitoring solution. You can launch as many worker containers as you like; each worker polls the app every 15 seconds for its assigned monitors. Similarly, you can run multiple replicas of the main app for high availability.

How do I set up a custom domain for the status page?

In the `.env` file, set `APP_STATUS_PAGE_DOMAIN` to your desired domain (e.g., `status.example.com`). This configures the public status page application to serve under that domain. Make sure DNS and SSL are configured appropriately.

Can I display monitors from external Instatus pages?

Yes. UptimeKit supports Instatus integration, allowing you to pull monitors from external Instatus pages and display them on your own status page. Refer to the documentation for the exact configuration steps.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for uptimekit

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
uptimekit | MushyBook