TutorialMigration

How to Migrate from Uptime Kuma to UptimeKarma

Jan 12, 202610 min read
This guide walks you through every step of migrating from a self-hosted Uptime Kuma instance to UptimeKarma's cloud platform. The entire process takes about 15 minutes.

Why Migrate?

Uptime Kuma is a fantastic open-source project and a great starting point for monitoring. But as your infrastructure grows, the limitations of self-hosted monitoring become harder to ignore. Here are the most common reasons teams make the switch:

Maintenance Burden

OS patches, Docker updates, database backups, SSL renewals, disk space cleanup — all on you. Your monitoring tool shouldn't need its own monitoring.

No Security Scanning

Uptime Kuma checks if your site is up, but it won't scan for security headers, exposed secrets, mixed content, or SSL misconfigurations.

Scaling Limits

Adding hundreds of monitors slows things down. Check intervals compete for resources on a single server, and there's no built-in horizontal scaling.

Single Point of Failure

If your VPS goes down, your monitoring goes dark at the exact moment you need it most. Cloud infrastructure checks from multiple locations with built-in redundancy.

What You'll Need

  • An UptimeKarma account

    Free tier works — you can upgrade later

  • Your Uptime Kuma backup JSON

    Exported from Settings → Backup in Uptime Kuma

  • About 15 minutes

    Less if you have fewer than 10 monitors

Step 1: Export from Uptime Kuma

First, create a full backup of your Uptime Kuma instance. This gives you a JSON file containing all your monitors, notification channels, and status pages.

Open your Uptime Kuma dashboard
Navigate to Settings (gear icon)
Click "Backup" in the sidebar
Click "Export" to download the JSON backup
Save the file somewhere safe
Keep this backup file even after migrating. It serves as a reference for your original monitor configuration and as a safety net if you need to roll back.

Your backup JSON will contain entries for each monitor. Open it in any text editor to review the URLs and settings you'll need to recreate:

{
  "monitorList": [
    {
      "name": "Production API",
      "url": "https://api.example.com/health",
      "type": "http",
      "interval": 60,
      "maxretries": 3
    },
    ...
  ]
}

Step 2: Create Your UptimeKarma Account

Sign up for a free UptimeKarma account. No credit card required — the free tier includes 5 monitors with security scanning, which is enough to get started and validate the migration.

Create your free account

Takes less than 30 seconds. No credit card required.

Sign Up for UptimeKarma

Step 3: Recreate Your Monitors

With your Uptime Kuma backup JSON open as a reference, recreate each monitor in UptimeKarma. For each monitor in your backup, you'll want to map the configuration over:

Uptime Kuma FieldUptimeKarma EquivalentNotes
nameMonitor NameUse the same name for easy tracking
urlURLCopy directly from your backup
type (http)HTTP(s) MonitorMost common monitor type
intervalCheck IntervalUptimeKarma supports 1–5 minute intervals
keywordExpected ResponseKeyword checks are supported

In the UptimeKarma dashboard, click “Add Monitor” for each entry in your backup. Paste the URL, set the check interval, and give it the same name you used in Uptime Kuma. UptimeKarma will automatically start monitoring from multiple global locations.

Bonus: UptimeKarma automatically enables security scanning for each monitor. You'll immediately get insights into SSL health, security headers, and potential vulnerabilities — something Uptime Kuma doesn't offer.

Step 4: Set Up Alerts

UptimeKarma supports the same notification channels you were using with Uptime Kuma, plus a few extras. Configure your preferred alert method so you get notified the moment something goes down.

Email Alerts

Enabled by default for your account email. Add team members for shared notifications.

Slack

Connect via incoming webhook URL. Alerts post to your chosen channel with monitor details.

Discord

Use a Discord webhook URL. Get rich embeds with status, response time, and error details.

Webhooks

Send JSON payloads to any endpoint. Integrate with PagerDuty, Opsgenie, or your own automation.

Step 5: Create Status Pages

If you were using Uptime Kuma's status page feature, you can recreate those in UptimeKarma as well. UptimeKarma status pages are fully hosted and come with a custom subdomain — no need to configure reverse proxies or SSL certificates.

Go to Dashboard → Status Pages
Click "Create Status Page"
Add a title, description, and logo
Select which monitors to display
Publish — your page is live instantly

Share the status page URL with your users, embed it in your docs, or link to it from your website's footer. No server configuration, no DNS setup — it just works.

Step 6: Run in Parallel

Before shutting down Uptime Kuma, run both systems side by side for a few days. This lets you verify that UptimeKarma is catching the same events and that alert notifications are working correctly.

Parallel Running Checklist

Step 7: Decommission Uptime Kuma

Once you're confident UptimeKarma is handling everything correctly, it's time to shut down the old Uptime Kuma server and reclaim those resources.

Stop the Uptime Kuma container
docker stop uptime-kuma
docker rm uptime-kuma
Optional: remove the image and volumes
docker rmi louislam/uptime-kuma
docker volume rm uptime-kuma-data
If the VPS was only for monitoring, cancel it
You just saved $5–20/month on hosting!
Keep your Uptime Kuma backup JSON file archived. You never know when you might need to reference the original configuration.

What You Gain

After the migration, here's what changes for the better:

Security Scanning

SSL monitoring, security headers, and vulnerability detection on every check — automatically.

Zero Maintenance

No servers to patch, no Docker containers to update, no backups to manage. We handle all of it.

Multi-Location Checks

Monitors run from data centers worldwide, catching regional outages your single VPS would miss.

Auto-Updates

New features and improvements are deployed automatically. No manual Docker pulls or version migrations.

Built-In Redundancy

Your monitoring never goes offline. Cloud infrastructure with failover ensures 24/7 operation.

Hosted Status Pages

Public status pages with zero configuration — no reverse proxy, no SSL setup, no DNS records.

Ready to Migrate?

Join thousands of developers who have switched from self-hosted monitoring to UptimeKarma. Free forever plan • No credit card required • 15 minutes to migrate.

Start Your Free Account

Found this guide helpful? Share it with your team: