Skip to content

Latest commit

 

History

History
140 lines (97 loc) · 4.05 KB

File metadata and controls

140 lines (97 loc) · 4.05 KB
UptimeKit Logo

UptimeKit

The modern open-source status page and monitoring solution.

FeaturesGetting StartedTech StackContributing


UptimeKit Banner

Caution

This project is in early stage of development and some problems can occur. Please open issue for all bugs and feature requests.

✨ 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.

🚀 Tech Stack

Built with a modern, type-safe stack for maximum performance and developer experience.

🛠️ Getting Started

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

Prerequisites

  • Node.js 20+
  • pnpm 10+
  • PostgreSQL

Installation

  1. Clone the repository

    git clone https://github.com/uptimekit/uptimekit.git
    cd uptimekit
  2. Install dependencies

    pnpm install
  3. Environment Setup

    Copy the .env.example files in apps/dash, apps/status-page, apps/scheduler.

  4. Database Setup

    Push the schema to your local database:

    pnpm run db:push
  5. Run Development Server

    Start all applications (Dashboard, Status Page, Marketing/Docs):

    pnpm run dev

📂 Project Structure

uptimekit/
├── apps/
│   ├── dash/          # Main Dashboard application
│   └── status-page/   # Public Status Page application
├── packages/
│   ├── api/           # Shared API definition & logic
│   ├── auth/          # Authentication configuration
│   ├── db/            # Database schema & Drizzle config
│   ├── scheduler/     # Scheduler application
│   └── config/        # Shared configuration (TS, ESLint, etc.)
└── ....

💝 Sponsors

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

Sponsors

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