Skip to main content
All CollectionsSelf-Hosted SetupExternal MongoDB Database
Configure External Database with Kendis Self-Hosted
Configure External Database with Kendis Self-Hosted

To run multiple Pods or use external database with Kendis

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

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 supports MongoDB v 4.4 and higher

Configuration Steps

1. Connect Kendis with new MongoDB installed

  • Go to the System admin area by typing <yourKendisURL>/system
    The default username and password is sysadmin and admin. In case you don't have those default credentials, ask them from support@kendis.io

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

  • Fill up the form with all the 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, proceed to restore your backup to the externally hosted MongoDB.

2. 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, and 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 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?