Upptime alternative for checks more often than every five minutes

Upptime is capped by GitHub Actions cron, which will not schedule below five minutes and can run late when the runners are busy, so Logdash runs the checks on its own schedule instead - though Upptime stays free at any scale and Logdash does not.

Upptime is a good trick. A scheduled GitHub Action curls your URLs, commits the result, opens an issue when something is down and closes it when it recovers. No server, no bill, and the whole history sits in a repo you own. For a side project that is hard to beat, and you should not switch off it out of taste.

It runs out of road in two places. The first is the schedule. GitHub Actions cron does not accept anything finer than five minutes, and scheduled workflows are queued rather than guaranteed, so during busy periods they start late. Real detection time is five minutes plus whatever the queue is doing. A two minute outage can pass without a single failed check, and you find out from a customer.

The second is the repository. The workflows commit their results back, and every incident is a GitHub issue. The commit graph and the issue list stop being a record of your work. If you watch that repo, monitoring noise arrives in the same inbox as pull requests, and the thing you actually wanted - response time over the last month - is spread across thousands of commits.

Logdash runs the checks itself on the interval you set and keeps the history without committing anything. Two things Upptime has that Logdash does not: it is free at any scale, and it is genuinely yours. Logdash has a free Hobby plan with paid tiers above it, and while it is MIT licensed, production self-hosting is not a one-command install yet. It runs locally for development and the rest is tracked on GitHub.

Heartbeat from the Action you already have

.github/workflows/nightly.yml
jobs:
  nightly-sync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: ./bin/nightly-sync

      - name: Heartbeat
        run: curl -fsS -X POST https://api.logdash.io/ping/<monitorId>

That endpoint is public and takes no body and no auth header. If the job stops running, or fails before it reaches the last step, the heartbeat never arrives and the monitor goes down. Upptime cannot watch a job that has no URL.

  1. 1
    Copy the sites list out of .upptimerc.yml Each url becomes one HTTP monitor. Set the interval you actually wanted instead of the five minute floor you were living with.
  2. 2
    Turn on the public status page Add the monitors to a page and point your own domain at it. That replaces the GitHub Pages site, and nothing has to build on push.
  3. 3
    Attach Telegram Connect a Telegram channel to each monitor. The next time an endpoint returns a 5xx, the alert is in your chat instead of being an issue notification you will read tomorrow.

Logdash vs Upptime

FeatureLogdashUpptime
Minimum check intervalThe interval you set on the monitorFive minutes, and Actions cron can start late
Cron and background jobsPOST a heartbeat to a monitor URLNot covered, Upptime pulls URLs
Logs and metricsSame dashboard, eight SDKsUptime only
CostFree Hobby plan, paid tiers above itFree, on your own Actions minutes
Self-hostingLocal development only todayRuns entirely in a repo you own
Where incidents liveIncident timeline in the dashboardGitHub issues, commentable and searchable
Status pageHosted page on your own domainGitHub Pages site you style and deploy

When Upptime is the better pick

  • The bill is zero and it stays zero. If cost is the constraint, nothing here competes.
  • Everything lives in a repo you control. No account to lose, no vendor to outlive.
  • Five minutes is fine for most side projects. If nobody is woken up at 3am, the floor does not matter.
  • You want the status page in your own GitHub organisation, styled by you and deployed by you.

What moving actually looks like

Keep the repo. Recreate the sites list as monitors and run both for a week, which is usually enough to show you the gaps where the five minute grid missed something. When you are convinced, disable the workflows and archive the repo rather than deleting it. Nothing imports your old issues, so that archive is your incident history.

Is there a free alternative to Upptime?

Logdash has a free Hobby plan covering monitors, alerts and a status page. Upptime is free at any scale because it runs on your own GitHub Actions minutes, so if cost is the deciding factor Upptime wins.

Can Upptime check more often than every five minutes?

Not reliably. GitHub Actions cron will not schedule below five minutes, and scheduled workflows can be delayed when runners are busy.

Is Logdash self-hosted like Upptime?

Not in production yet. The code is MIT and runs locally for development, and production self-hosting is tracked on GitHub. Upptime is genuinely yours today and that is a real difference.

What happens to my GitHub issues and status history?

They stay in the repo. Nothing imports them into Logdash, so archive the repository instead of deleting it if that incident history matters to you.

Point it at your own URL and watch it for real.

Any public URL · checked every 15 s