Skip to content

Migrate · RealUptime Monitor

Migrate from Upptime

Upptime is a clever free setup: a repository whose scheduled GitHub Actions workflow checks your sites, opens issues when one is down, and publishes a status page. The catch is the schedule. Its workflow runs every five minutes at best, scheduled runs can start late or be dropped when the runners are busy, and the checks run from shared runner addresses that some sites block, which shows up as false alarms. The site list is one YAML file, so moving it takes one upload.

Every RealUptime comparison

Already have a RealUptime account? Open Import from another service and bring your monitors across with the CSV import.

Rather send us the list? Email it to support@realuptime.io and we will import it within 48 hours.

Upload your .upptimerc.yml

In your dashboard, open Import from another service and upload the .upptimerc.yml from your Upptime repository under Import from Upptime. The importer reads the sites list and nothing else: a token, notification settings or request headers in the file are ignored and never kept. A site whose URL is a repository secret (written as $SECRET_SITE) has no address in the file, so it is listed for you to add by hand.

Review what each site becomes

The preview lists every site with what it becomes. HTTP sites become HTTP checks; tcp-ping sites become TCP checks on the same port. A __dangerous__body_down_if_text_missing rule becomes a body assertion that the text is present, and __dangerous__body_down one that it is absent. Checks start at five minutes, the interval Upptime ran at, and you can shorten them afterwards: Free checks every minute from four regions (US-East, US-West, Europe, and Asia-Pacific). Imports count against your plan's monitors, 10 on Free.

Replace the GitHub-hosted status page

The imported checks land on your RealUptime Status page as components, so the status page comes with them. Move the custom domain you used for Upptime's site to the new page (Pro and Business), then disable the Upptime workflows in the repository so the two do not both alert. Upptime's response time and uptime history stays in the repository's history/ and api/ folders; RealUptime's figures start from its own first check, because it only reports what it measured.

Feature mapping

Upptime site settings, mapped to RealUptime Monitor

What the importer creates from each kind of Upptime site, by the setting names in Upptime's own configuration types.

check: http (the default)

http check, imported · Have

Name and URL carry over. Non-GET methods come across as GET, and the preview says so.

check: tcp-ping or tcp

tcp check, imported · Have

Host and port carry over, for public addresses.

__dangerous__body_down_if_text_missing and __dangerous__body_down

Body assertion, imported · Have

Case-sensitive contains or does-not-contain.

expectedStatusCodes, maxResponseTime, headers

Status and latency assertions, request headers, set by hand · Partial

Not read from the file, so headers holding secrets never leave your repository.

check: ws and ssl

No WebSocket check; certificate expiry is read daily for every HTTPS check · Partial

Listed as skipped in the preview.

Five-minute GitHub Actions schedule

Fixed probe regions, every minute on Free · Have

Checks run from four regions on Free, eight on Pro, all ten on Business, and a failure has to persist before it alerts.

Issues opened on downtime, status site on GitHub Pages

Incidents on a hosted status page with subscribers · Have

The account comes with all four products. RealUptime Monitor runs the imported checks, with a REST API, Terraform provider and CLI on every plan, and RealUptime Status publishes them. RealUptime Errors catches the exceptions an uptime check cannot see, free for 10,000 events a month. RealUptime Outages tracks the vendors you depend on and needs no account. If you keep any GitHub Actions schedules of your own, see catching missed scheduled runs.

Verified November 1, 2026. Sources: Upptime workflow template: schedule */5 * * * *, Upptime configuration types (uptime-monitor src/interfaces.ts), Upptime issue 1083: frequent false positive downtime alerts despite service being up, GitHub Docs: the schedule event can be delayed during periods of high load.

Ready to move your checks over?

For the full, sourced pricing and feature comparison against Upptime, see Every RealUptime comparison. For why a check should run from more than one region at all, see why a status page can show all green during a real outage.