Uptime Monitoring

OpenUptime

Uptime monitor and public status pages that run on Cloudflare Workers or in one Docker container.

Why people self-host OpenUptime

OpenUptime puts uptime checks, alerting, incidents, and a public status page in one MIT-licensed app. People self-host it when they want UptimeRobot-style monitoring with a complete API and team accounts, without a bill that grows with every monitor.

The tradeoff is maturity: the project is young, its community is small, and it always needs a Postgres database. Use it when Workers deployment, the API, or the built-in MCP server matter more than a long track record.

What OpenUptime does well

  • HTTP, TCP, DNS, PostgreSQL, MySQL, and Redis checks, plus heartbeat monitors for cron jobs, as often as every minute.
  • Incidents open and resolve on their own after a failure threshold, with maintenance windows that silence alerts.
  • Public status pages with grouped components, 90-day history, email subscribers, an RSS feed, and an SVG badge.
  • Alerts to Slack, Lark, Telegram, PagerDuty, email, and webhooks, chosen per monitor.
  • A REST API for everything the UI does, API keys for CI and scripts, and an MCP server so an AI agent can manage monitors.

Who OpenUptime is for

OpenUptime suits small teams and solo developers who want a self-hosted uptime monitor with a status page they can show customers, and who would rather manage monitors through an API than by clicking. It is also one of the few options that can run on Cloudflare Workers, away from the servers it watches. If you want something with years of history and a large community, Uptime Kuma is the established choice.

Deployment notes

OpenUptime is listed with support signals for linux, docker, cloudflare-workers. Check the upstream documentation before exposing it to the internet, review authentication defaults, and keep backups outside the primary host.

There are two ways to run it. The Docker route is one container plus Postgres from the provided compose file: set a database password and an auth secret in .env, start it, and sign up on port 8080. The Cloudflare route deploys two Workers that reach your Postgres through Hyperdrive. Queue mode needs the Workers Paid plan, while inline mode works on the free plan for up to 40 monitors per minute. Put the Docker version behind an HTTPS reverse proxy and set PUBLIC_URL to match, or sign-in will fail. Close registration with DISABLE_SIGNUP once your account exists. Migrations run on start, and a pg_dump of the database is the whole backup.

Common questions about OpenUptime

Can OpenUptime monitor services on my private network?

Yes with the Docker install, after setting ALLOW_PRIVATE_TARGETS to true. Private, loopback, and link-local targets are refused by default so that a signed-up user cannot probe your network. The Cloudflare Workers install cannot reach private address ranges at all.

OpenUptime or Uptime Kuma?

Uptime Kuma is older, has a much larger community, and supports more notification services. OpenUptime adds workspaces with roles, a full REST API, an MCP server, and the option to run on Cloudflare Workers. Choose by which of those you would miss.