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
Kendis only supports MongoDB v 3.6. You need to make sure you are running this particular version of MongoDB.
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
e.g., if your host IP is an example 184.108.40.206 then the value would be
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.
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.