A clone of someone else's work that's been modified to run within a container to eliminate screwiness and any debt to this project.
Go to file
colin 450ceefd07
ci/woodpecker/push/woodpecker Pipeline was successful Details
Add .gitignore
2024-04-17 14:48:35 +00:00
data Builds but is untested 2024-04-17 09:45:34 -04:00
docker/migrator Builds but is untested 2024-04-17 09:45:34 -04:00
.gitignore Add .gitignore 2024-04-17 14:48:35 +00:00
.woodpecker.yml Builds but is untested 2024-04-17 09:45:34 -04:00
README.md Builds but is untested 2024-04-17 09:45:34 -04:00
docker-compose.production.yml Builds but is untested 2024-04-17 09:45:34 -04:00
docker-compose.staging.yml Builds but is untested 2024-04-17 09:45:34 -04:00
docker-compose.yml Builds but is untested 2024-04-17 09:45:34 -04:00

README.md

UptimeRobot to Kuma Migration

We needed a fast and easy way to migrate from UptimeRobot to UptimeKuma, so we created this migration helper. It leverages Docker Compose to simplify the entire process.

WARRANTY VOID WARNING

This repository comes entirely without support if something on the docker layer doesn't work and you know how to reach out to me please feel free and we could tweak some stuff but the nature of Docker is to unify environments so that support is effectively unnecessary if you're doing your docker layer correctly. This repository uses source code from a publically contributed tool written by github user @sandstorm via https://github.com/sandstorm/uptime-robot-to-kuma-helper and I offer no assurance of continued support from them but this allegedly worked the year they supplied this code and if someone wants to fork this and maintain it I would hope that they post about it in this thread as the UptimeKuma people don't seem to have any interest or resources available for interoperability. https://github.com/louislam/uptime-kuma/issues/1190

Prerequisites

  • Docker and Docker Compose installed.
  • A copy of your UptimeKuma data directory (for safety).

Migration Steps

  1. Clone the Repository:
    git clone https://github.com/Nixius/UptimeRobot-Migrator.git # Replace if your project is elsewhere
    cd uptimerobot-migrator 
    

Alternatively, you can probably copy this repository docker-compose.yml somewhere useful in your case.

  1. Environment Configuration:

    • Edit the docker-compose.yml
      • Enter your UptimeRobot API key.
      • Provide your Kuma URL, username, and password.
  2. Place UptimeKuma Data (if migrating to an existing instance):

    • Place a copy of your UptimeKuma data into a directory named data next to the docker-compose.yml file.
  3. Execute the Migration:

    • Run the following command to start the temporary uptime kuma instance we include in the background to copy your monitors to:
    docker-compose up -d kuma-migration
    
    • Ensure that uptime Kuma is online by navigating to it in your browser if you have this locally it should be located at http://localhost:3001/ and use the credentials you set in your original instance.

    • Next you need to launch the migrator in the foreground.

      docker-compose up migrator
      
    • Once the migrator has completed you must check your temporary uptime kuma instance we loaded up earlier and then if everything is copacetic you can do docker-compose down && docker-compose rm to clean up the mess.

    • Additionally, To perform other actions, modify the docker-compose.yml file:

    • Change the command under the migrator service:

      • disable-uptime-robot
      • delete-uptime-robot (Caution: This action is irreversible)

Important Notes

  • Backup: Always create a backup of your UptimeKuma data before running the migration.
  • Customization: The helper was designed for our use case. You must modify it to fit your specific API key and credentials.
  • Default Notifications: Consider creating a default notification in UptimeKuma beforehand.

Disclaimer

This tool aims to streamline the migration, but we cannot guarantee perfect results with every UptimeRobot configuration and Kuma setup.

Key Improvements:

  • Focus on docker-compose.yml: Instructions prioritize the ease of using the provided compose file.
  • Clarity: The outline of the prerequisites and steps emphasizes that the migration runs with a single command.
  • UptimeKuma Data: Includes guidance on handling data for existing Kuma instances.