The modern open-source status page and monitoring solution.
Features • Getting Started • Tech Stack • Contributing
Caution
This project is in early stage of development and some problems can occur. Please open issue for all bugs and feature requests.
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.
Built with a modern, type-safe stack for maximum performance and developer experience.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Database: PostgreSQL with Drizzle ORM & ClickHouse
- Styling: TailwindCSS & shadcn/ui
- Authentication: Better-Auth
- API: oRPC & OpenAPI
- Monorepo: Turborepo
Follow these steps to get UptimeKit running locally on your machine.
- Node.js 20+
- pnpm 10+
- PostgreSQL
-
Clone the repository
git clone https://github.com/uptimekit/uptimekit.git cd uptimekit -
Install dependencies
pnpm install
-
Environment Setup
Copy the
.env.examplefiles inapps/dash,apps/status-page,apps/scheduler. -
Database Setup
Push the schema to your local database:
pnpm run db:push
-
Run Development Server
Start all applications (Dashboard, Status Page, Marketing/Docs):
pnpm run dev
- Dashboard: http://localhost:3000
- Status Page: http://localhost:3001
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.)
└── ....Thank you to all our amazing sponsors who make this project possible!
Become a sponsor and get your logo here!
We welcome contributions! Please check out our Contributing Guide for details on how to submit pull requests, report issues, and request features.
This project is licensed under a MIT License