A robust uptime monitoring solution designed for tracking the availability and performance of web services and APIs. UptimeKit provides real-time monitoring, detailed performance analytics, and immediate status alerts through a streamlined dashboard.

UptimeKit uses a standardized color-coding system to represent service health:
The most efficient method to deploy UptimeKit is using Docker and Docker Compose.
Prerequisites: - Docker and Docker Compose
Quick Start:
# Clone the repository
git clone https://github.com/abhixdd/UptimeKit.git
cd UptimeKit
# Build and initiate the stack
docker-compose up --build
Access Points:
- Frontend Dashboard: http://localhost:5173
- Backend API: http://localhost:3000
Operational Commands:
# Stop the infrastructure
docker-compose down
# Reset environment (removes volumes)
docker-compose down -v
Architecture Overview: - Backend: Node.js Alpine environment running an Express server. - Frontend: Multi-stage build (Vite/Nginx) for optimized asset delivery. - Database: SQLite database persisted via Docker volumes. - Networking: Isolated communication through a dedicated Docker bridge network.
For environments where Docker is not available, UptimeKit can be installed directly via Node.js.
Prerequisites: - Node.js (v14+) - npm or yarn
Installation:
# Clone the repository
git clone https://github.com/abhixdd/UptimeKit.git
cd UptimeKit
# Install all dependencies
npm run install:all
Development Environment:
npm run dev
This command initializes both the backend and frontend development servers concurrently. Access the dashboard at http://localhost:5173.
Configuration: Documentation for environment variables can be found in backend/.env.example.
The backend exposes the following RESTful endpoints:
GET /api/monitors - Retrieve all configured monitorsPOST /api/monitors - Create a new monitorPUT /api/monitors/:id - Update existing monitor configurationDELETE /api/monitors/:id - Remove a monitorPATCH /api/monitors/:id/pause - Toggle monitoring statusGET /api/monitors/:id/chart/uptime - Fetch uptime historical dataGET /api/monitors/:id/chart/response-time - Fetch response time metricsGET /api/monitors/:id/history - Retrieve recent check logsGET /api/monitors/:id/downtime - Detailed information on the most recent outageContributions to UptimeKit are encouraged. Please review the codebase and submit pull requests for any improvements or bug fixes.
For technical issues or feature requests, please utilize the GitHub Issues tracker.
This project is licensed under the MIT License.
UptimeKit - Professional Monitoring Solutions.
$ claude mcp add UptimeKit \
-- python -m otcore.mcp_server <graph>