Skip to content

Self-hosted alternatives to Healthchecks.io

Healthchecks.io is a hosted service that alerts you when cron jobs, backups and other scheduled tasks fail to send their expected ping. One listed app does its main job and runs in your own Cloudflare account.

Each answer comes from the app’s README and source code, compared with the features Healthchecks.io describes on its own site.

  • Uptime Guard dashboard for a Production project with one service down, one warning and the recent checks of each service

    Uptime monitor for websites, ports, DNS, certificates and cron jobs, with Telegram alerts and public status pages

    Deploy
    One-click
    License
    MIT
    GitHub stars
    29 stars
    Last commit

Healthchecks.io features, app by app

FeatureUptime Guard
Unique ping URL per job that reports successful runsYes
Expected schedule as a simple period or a cron expressionPartly
Grace time before a late job counts as downYes
Start and fail signals to time runs and report failuresNo
Log of received pings with request bodyPartly
25+ notification integrations including email, SMS and SlackPartly
Status badgesNo
API for managing checksNo

Uptime monitor for websites, ports, DNS, certificates and cron jobs, with Telegram alerts and public status pages

What a Healthchecks.io user would miss
It has no start/fail signals, status badges and an API with keys, and covers cron expression schedules, a ping log with bodies and email/SMS/Slack alerts only in part.
What it adds
It also has several other monitor types in the same app, owner login that needs a password plus an authenticator code and data that stays in your Cloudflare account.
  • Yes Unique ping URL per job that reports successful runs. Each heartbeat monitor has its own /ping/<token> URL that any HTTP method can call.
  • Partly Expected schedule as a simple period or a cron expression. A repeat interval you choose plus a grace window; no cron expressions.
  • Yes Grace time before a late job counts as down. A grace window per heartbeat, set in the monitor form.
  • No Start and fail signals to time runs and report failures. A ping only marks the job alive; no start or fail signal and no run time.
  • Partly Log of received pings with request body. Each ping is stored as an up check with its time; no request body or source address.
  • Partly 25+ notification integrations including email, SMS and Slack. Telegram and Web Push only; no email, SMS, Slack or webhook.
  • No Status badges. No badge endpoints; a public status page lists the monitors instead.
  • No API for managing checks. The REST API needs a session token from the password and authenticator login; no API keys.

Sources:github.com/calmray-solutions/uptime-guard#readmegithub.com/calmray-solutions/uptime-guard/blob/main/worker/src/checks.ts