Skip to content
FlareWatch

Docs and changelog for v3.5.0.

Compare

FlareWatch vs UptimeFlare, Uptime Kuma, Gatus and Upptime

All five are free and open source. They differ in where they run, how often they check, and how you configure them. Here is how they line up, and when another tool is the better choice.

FlareWatch compared with UptimeFlare, Uptime Kuma, Gatus and Upptime
FlareWatchUptimeFlareUptime KumaGatusUpptime
Runs onCloudflare WorkersCloudflare WorkersYour serverYour serverGitHub Actions
Server to look afterNoNoYesYesNo
Fastest scheduled checks1 minute1 minuteSecondsSeconds5 minutes
Heartbeats for cron jobsYesNot listedYesYesNo
Checks beyond the status codeKeyword, header, JSON valueKeywordKeyword, JSON valueBody, JSON valueBody text
Confirms a failure from a second locationYesNot listedNoNoNo
Maintenance windowsRepeat daily, weekly or monthlyScheduledRepeat on a scheduleDaily or weekdaysOne-off
Reminders while downYesNot listedYesYesNo
Alert channels per monitorYesNot listedYesYesNo
Status pagePublic or privatePublic or privatePublicPublic or privatePublic
Configured inA file in gitA TypeScript fileA web UIA YAML fileA YAML file

The UptimeFlare column comes from its README. "Not listed" means the README doesn't say.

FlareWatch

Runs on Cloudflare Workers in your own account. Checks websites, APIs, TCP ports and DNS records every minute, or less often if you like, and warns before a certificate or domain expires. It can confirm a failure from a second location, reach a private network through Workers VPC, watch cron jobs with heartbeats, and serve a public or private status page. Monitors live in a config file in your fork.

Pick it when: You want minute checks, heartbeats and a status page with nothing to host, and you are fine editing a file and pushing to change a monitor.

UptimeFlare

Also runs on Cloudflare Workers, with no server. It checks websites, APIs and TCP ports, up to 50 of them every minute, and a check can run from a chosen location in more than 310 cities. Alerts go to over 100 services through Apprise, or to a webhook. The status page has a response time chart, incident history and scheduled maintenance, and can sit behind a password. Its README lists certificate checks as still to do. Monitors live in uptime.config.ts.

Pick it when: You want the same no-server setup with far more alert services, checks pinned to a Cloudflare location, or a page in English or Chinese.

Uptime Kuma

A self-hosted monitoring app with a web UI. It has many monitor types, including ping, DNS and Docker containers, a long list of notification services, and checks as often as every 20 seconds. It runs as a Docker container or Node.js app on a server you keep running.

Pick it when: You want to add monitors in a web UI, need ping or container checks, or want checks more often than once a minute.

Gatus

A health dashboard written in Go and configured in YAML. Each endpoint gets conditions on status, body, response time, certificate expiry and more. It runs as a binary or container on a server.

Pick it when: You want detailed conditions in config, or you already run a server inside the network you need to watch.

Upptime

Uses GitHub Actions for checks, GitHub Pages for the status page and GitHub issues for incidents. No server. Scheduled workflows run every 5 minutes at best, and GitHub can delay them.

Pick it when: Five minutes is often enough and you want everything to live inside GitHub.

Hosted services

If you would rather not run anything yourself, not even a fork, a hosted service such as UptimeRobot or Better Stack does the job with no setup.