Using Implementation specific Configuration (docker)

Detailed explanation about Bahmni configuration can be found at Configuration 101.

Bahmni uses configuration in the form of JSON and supports configuration across multiple services. The default configuration comes with default-config (for Bahmni Standard) and clinic-config (for Bahmni Lite) image running in bahmni-config service. The configurations will be shared across services like OpenMRS, bahmni-web, openelis, reports by using docker volumes.

To override default-config with your implementation specific configuration, it is recommended to build a docker image of your config and use it with the bahmni-config service.

The steps to build the docker image for your implementation specific config can be found here. Once you have the docker image built you need to update Bahmni Config Environment Variables in the .env file.

Local development on config

If you are doing local development on configuration, you can mount your local folder also. Follow the step below.

  1. Update the CONFIG_VOLUME variable in the .env file with the path of your local config folder.

  2. Comment bahmni-config service in docker-compose.yml

  3. Update / Start the containers by running docker-compose up -d. If you use any profile, pass the profile option as well.

You can also refer to this training video on how to perform the above:

  1. Also see this discussion on how to package Bahmni docker images for your own custom deployments:

  2. Publish your docker images to docker hub:

  3. Copying docker images directly to target machine:

Running Bahmni on Docker


The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)