Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

641 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UptimeKit Logo

UptimeKit

The modern open-source status page and monitoring solution.

badges

image

Features

UptimeKit is designed to be the all-in-one solution for tracking your services' uptime and communicating with your users.

  • Monitoring - Real-time uptime monitoring for your HTTP/TCP services.
  • Status Pages - Beautiful, customizable status pages for your users.
  • Incidents - Create and manage incident reports to keep users informed.
  • Organizations - Multi-tenant support with team management.
  • Analytics - Detailed uptime and response time metrics.
  • Self-Hostable - Full control over your data and infrastructure.
  • Instatus Integration - Display monitors from external instatus pages on your status page,

How it works

Uptimekit is a distributed monitoring solution. You can have as many workers as you want and as many replicas of the app as you want. The workers check with the app every 15 seconds to get their assigned monitors and run the checks whenever they have to.

Getting Started

Follow these steps to get UptimeKit running locally on your machine.

Prerequisites

  • PostgreSQL
  • Clickhouse (optional)

Install

  1. Download the docker-compose.yml and .env.example

    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
  2. Edit these variables in the .env

APP_SECRET=change_me_to_a_secure_secret
APP_URL=http://localhost:3000

# Status Page Configuration (Optional)
APP_STATUS_PAGE_DOMAIN=status.example.com

Point both APP_URL and APP_STATUS_PAGE_DOMAIN at the same UptimeKit service. The dashboard and public status pages are served from the same container.

  1. Start the docker compose

    docker compose up -d
  2. Now follow the steps on the app. Enjoy :D

Support

Need help with UptimeKit? Join our community support room on Matrix:

Join the UptimeKit Matrix room

Room address: #uptimekit:irazz.lol

Use the room to ask questions, report problems, and connect with other UptimeKit users and contributors.

Project Structure

uptimekit/
├── apps/
│   ├── dash/          # Main Dashboard application
│   ├── worker/        # Probe who actually pings the monitors
├── packages/
│   ├── api/           # Shared API definition & logic
│   ├── auth/          # Authentication configuration
│   ├── db/            # Database schema & Drizzle config
│   └── config/        # Shared configuration (TS, ESLint, etc.)
└── ....

💝 Sponsors

Thank you to all our amazing sponsors who make this project possible!

Become a sponsor and get your logo here!

🤝 Contributing

We welcome contributions! Please check out our Contributing Guide for details on how to submit pull requests, report issues, and request features.

📄 License

This project is licensed under a MIT License


Built with ❤️ by the UptimeKit Team

Releases

Sponsor this project

Packages

Used by

Contributors

Languages