Run your own uptime monitor in 5 minutes.

3 Docker containers. 512 MB RAM. Any VPS. Full source code included — fork it, extend it, or run it as-is. AGPL-3.0, telemetry off by default, no feature gates.

What you need

  • A VPS or machine running Docker 24+ and Docker Compose
  • PostgreSQL 16 and Redis 7 (both come up with the compose file)
  • Optional: Amazon SES credentials for email alerts and subscribers

Quick start

Clone the repository, copy .env.example to .env, set a strong JWT_SECRET and your APP_URL, then run docker compose up. Postgres, Redis, the API on port 3000 and the web app come up together; run pnpm db:migrate once to create the schema.

What runs where

One container runs the Hono API, the BullMQ worker and the web UI: MODE=api|worker|all decides which parts start, so the checker can still scale separately when you need it to. The UI and the API share an origin, so there is no CORS to configure and no reverse proxy to keep in sync. Status pages are pre-rendered to static files, so they keep serving even while the API restarts.

What is not in the open-source repository

SSO, audit log, advanced RBAC, multi-region check orchestration and SLA report PDFs are hosted-only. Everything needed to monitor services and publish status pages is in the repository.

Read the source on GitHub

UptimeCrow — open-source status pages with built-in uptime monitoring. AGPL-3.0. Privacy · Terms · llms.txt