Skip to content

Node-based helper to migrate from UptimeRobot to UptimeKuma

Notifications You must be signed in to change notification settings

sandstorm/uptime-robot-to-kuma-helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UptimeRobot to Kuma migration

We migrated from UptimeRobot to UptimeKuma, but there was no fast way to achieve this, so we wrote our own small migration helper.

Getting started

Copy the .env.sample as .env and enter your UptimeRobot API key.

For testing, you can simply start UptimeKuma via Docker:

docker run --rm -p 3001:3001 --name uptime-kuma louislam/uptime-kuma:1

Ensure you finished the initial setup (simply open localhost:3001 in your browser) and updated the credentials in the .env file.

To start the migration run:

# copy all your UptimeRobot monitors to your Kuma installation
yarn copy-monitors

# disable all UptimeRobot monitors
yarn disable-uptime-robot

# delete all your monitors from UptimeRobot
# DANGER!!! This is can not be undone
yarn delete-uptime-robot

Production Migration

Important Node: This migration helper was writen specially for our use-case. So not all UptimeRobot scenarios and features are implemented. So no garantie this will work 100% for you.

Pro Tipp: Before migrating, create a default notification that will get used as default.

Architecture

Fetching from UptimeRobot

This part was quite easy, because UptimeRobot got a good REST-API to fetch all monitors from

Creating the monitors in Kuma

This was the hard part. Currently, Kuma does not provide any form of API. In the first version of this migration helper, I tried to hook into the websocket connection of the UI and create monitors that way. This was really instabile and resulted in many non-deterministic errors.

For this reason I switched to Playwright. This allows us the remote-control a browser, which will create the monitors via the Kuma-UI.

About

Node-based helper to migrate from UptimeRobot to UptimeKuma

Topics

Resources

Stars

Watchers

Forks