This guide explains the steps you need to take to move your data from Kendis's internal docker MongoDB to an externally hosted MongoDB.

Start the Docker with Empty Internal Database

  • Stop old kendis docker instance with the docker stop command
    > docker stop <container-id>

  • Start clean kendis without any data mapping, so no previous data is picked up.

    > docker run --restart=always -v kendis-config:/var/lib/kendis-config -v kendis-resources:/var/lib/kendis-resources -v kendis-logs:/var/log/kendis-logs -p 8282:8080 kendisdocker/kendis:latest

Connect kendis with new MongoDB installed
This is the most important step.

  • Once the Kendis is started with the empty data, you will see the Sign-up form. You need to IGNORE this and don't register a new account. Follow to the next step to the system area.

  • Go to the System admin area by typing <yourKendisURL>/system
    The default username password is (sysadmin/admin)

  • Now click on the Database Settings tab on the left navigation

  • Fill up the form with all required details.
    - You must use the Host/URL for MongoDB in this format
    mongodb://<user>:<password>@host/<db>

    e.g., if your host IP is an example 123.122.121.1 then the value would be
    mongodb://<user>:<password>@123.122.121.1/<db>
    In case your MongoDB server has hostname, just replace IP with hostname

  • Once the connection is successful to the MongoDB connection, you can proceed to restore your backup to the externally hosted MongoDB.

How to Restore Data from your backup into MongoDB

  • Get the latest backup file from the host machine where you have Docker running and have mounted the backup volume, the default Kendis backup folder name is "kendis-backup"

  • Use the following command to restore the latest backup
    > mongorestore --drop --gzip --archive=<backup-file-name>.tar.gz

Once the restoration is done, just refresh the browser and you should see the login page. You can log in with your username and password that you have for your current setup, it should work without any issues.

Did this answer your question?