All Collections
Self-Hosted Setup
Using Docker
Upgrade Kendis Docker Embedded MongoDB from 3.6 to 6.0
Upgrade Kendis Docker Embedded MongoDB from 3.6 to 6.0

This upgrade will allow you to use Kendis 10.x and higher releases

Kendis Team avatar
Written by Kendis Team
Updated over a week ago

Kendis team recommends using "External MongoDB v 6.0 or higher" to utilize the latest functionalities effectively. However, based on feedback from multiple customers, we are providing the instructions for upgrading "Embedded MongoDB" to a higher version. This embedded MongoDB is part of Kendis Docker and doesn't require any separate management.

Here are the steps to upgrade your old Kendis installation with the new release and upgraded "Embedded MongoDB"

Steps to Migrate

  1. Take the latest backup of your Kendis data (Step 1)

  2. Stop the current Kendis Docker and rename the data folder (Step 2)

  3. Pull the latest Kendis docker and make sure it's 11.x (Step 3)

  4. Start the Kendis Docker (use the regular command that you have been using) (Step 4)

  5. Restore from the latest backup using the special command provided in Step 5

  6. That's it!


Step 1: Backup your data

For backup, you would need to access Kendis Docker. Follow these steps

  • Open a command prompt at the server where you have installed Kendis Docker

  • Find your Kendis docker container ID using the command

> docker ps

  • Enter into the Docker container

​> docker exec -it <container-id> /bin/bash

  • Once inside the Docker container, run the following command to take the backup.

​> /opt/backup.sh

1.2 Taking backup from the System Admin area

You may also go to "<your Kendis URL>/system and navigate to "Backup". There will be an option at the top right corner, "Backup now"; click on that button to take the backup.

The backup will be stored in the folder "/var/lib/kendis-backup", ensure a new file with the current timestamp has been created there.

Step 2: Rename Data Folder

This is the most important step; please make sure you fully understand what needs to be done.

  • Stop your Kendis Docker instance

> docker stop <container-id>

  • It is better to remove Kendis Docker Container

> docker rm <container-id>

  • Locate your physical data folder named "kendis-data." that you mapped on /var/lib/mongodb on the host machine. If you have named the kendis-data folder differently, then locate that folder.

  • This folder holds the data from "Embedded MongoDB."

  • Rename your data folder "kendis-data" to "kendis-data-olderdb3.6"

  • So that you know – the above step will keep your old data directory as-is and could be referenced if needed.

Step 3: Pull Kendis Docker 11.x or higher

Now, pull the 11.0 or a higher version of Kendis from the Docker Hub using the docker pull command.

> docker pull kendisdocker/kendis:11.0

Step 4: Start the Updated Kendis Docker Container

Once Docker container is updated, restart it using the same command, make sure you have use the old exact command including the data folder name remain as "kendis-data".

This step will let Kendis start a brand new MongoDB v 6.0, and in the next step, we will restore data from the backup into it.

Note: For running the docker build, please refer to https://help.kendis.io/en/articles/2800682-self-hosted-setup-guide-for-docker

Step 5: Restore Data from Backup

Now it's time to restore the latest backup taken in "Step 1". Locate your latest backup file from the backup directory. Make sure you have copied the file name correctly. The file will be similar to "/var/lib/kendis-backup/xxxxx.tar.gz" where xxxxxx will be the file name.

Next, go inside the Docker Container

> docker ps

​> docker exec -it <container-id> /bin/bash

Run the restore command with the latest created backup (replace the xxxxx.tar.gz with the latest file name)

> /opt/restore6.sh /var/lib/kendis-backup/xxxxx.tar.gz

Once the restore is completed, your latest data will be migrated to an upgraded Embedded MongoDB.

For any queries, reach out to Kendis support at support@kendis.io

Did this answer your question?