Kendis enterprise self-hosted version (Docker, Openshift) comes with an internal MongoDB database. However, in case you need to use an External Database then follow these steps

Database Version

Kendis only supports MongoDB v 3.6. You need to make sure you are running this particular version of MongoDB.

Configuration Steps

1. Modify the standard Kendis docker run command and add the additional config parameter -v kendis-config:/var/lib/kendis-config

An example command would be like this

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

2. Now start the Kendis docker with the above command.


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

  • 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.


Note:

  • In case you are running Openshift with multiple Pods, then you must select the external database option explained above, in order to make sure the Pods are sharing the same database.

Did this answer your question?