A modern, high-performance service and API uptime monitoring solution
powered by Cloudflare Workers, Elysia (Bun runtime), Drizzle ORM, and D1 SQLite.
Includes a public status page, live monitoring, per-service health views, admin dashboard, and incident notifications via Telegram and Slack.
- Public Service Status Page — View real-time uptime and health for all monitored endpoints.
- Detailed Per-Service Monitoring — See response times, last 24h timeline, and incident history.
- Admin Dashboard — Add/edit/remove services, manage integrations.
- Customizable Alerts — Notifications to Telegram and Slack.
- Secure Auth — Admin login via secure cookies.
- Cloudflare D1 — Production-grade database for health checks & configs.
- Automatic Health Checks — Cloudflare cron support for scheduled checks.
- Optimized for ElysiaJS — Ultra-fast JSX SSR via Bun.
-
Install Requirements
-
Setup Project
bun install wrangler d1 create uptime-monitor # Copy your database_id to wrangler.toml bun run db:init # Initialize tables bun run dev # Start the dev serverOpen http://localhost:8787/.
- Status Page:
/
Public view of endpoints, status and timeline - Per-Service Monitoring:
/monitoring/[serviceId]
Historical health, stats, and incidents - Admin Login:
/admin/login - Admin Dashboard:
/admin
Add/edit/remove services, manage notifications
Default Admin Credentials
- Username:
admin - Password:
admin123
(Edit.dev.varsor ENV variables for development)
Web UI lets you add Slack/Telegram - alerts for downtime and unexpected status.
- Configure:
.dev.varsfor BASE_URL, ADMIN_USERNAME, ADMIN_PASSWORD - Service CRUD: Use admin dashboard
- Test health checks: call
/__health-check(dev/local only) - Schema: see
init.sql - Scheduled checks: Via
wrangler.tomlcron triggers
- Cloudflare D1
- ElysiaJS
- Drizzle ORM
- DaisyUI / TailwindCSS
