Run your own uptime monitor in 5 minutes.

4 Docker containers. 512 MB RAM. Any VPS. Full source code included — fork it, extend it, or run it as-is. AGPL-3.0, no telemetry, 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

The API is a Hono server and a BullMQ worker runs the repeatable check jobs. MODE=api|worker|all decides which starts, so the checker can scale separately from the HTTP server. 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