List Of Configurable Installation Variables

Default values of installation variables provided as part of bahmni-installer rpm can be overridden by adding the variable entry in '/etc/bahmni-installer/setup.yml'.  Installation variables that can be specified or overridden are listed below. 

The file /etc/bahmni-installer/setup.yml should always be a valid YAML file. If you are unsure about whether your file is valid / not, you can always verify that by pasting its contents here:

It is strongly recommended to change default user passwords for better security of your Bahmni server.

NameDefault ValueDescription
timezoneNo default provided. Mandatory to add in setup.yml

This property sets the timezone for the server machine. Please see this document for possible values:

implementation_nameNo default provided. Mandatory to add in setup.yml

Implementation config to be used for Bahmni (example: default, jss, etc). bahmni-web rpm comes packaged with default config. When value is specified as default, it will be picked up from /opt/bahmni-web/etc/bahmni_config. If any value other than 'default' is specified, Bahmni will search for the appropriately named implementation config folder placed in /etc/bahmni-installer/deployment-artifacts.

Implementation name can also be specified from command line during install using -I (capital i) option.
Example: bahmni -I jss install.

Note that specifying implementation_name from command line wont add entry in setup.yml. It has to be mentioned each time you invoke any command from bahmni command line tool


Possible selinux states are 'enforcing', 'permissive' and 'disabled'. To disable the selinux configuration in server, 'disabled' should be set as value. 

To understand more about what is "selinux", please read this. If you don't understand selinux, then maybe its better to start with selinux 'disabled', and enable it later. Although, from a security perspective, its better to keep it at a minimum level of "permissive" if not "enforcing". Related reading:

When you change the machine's selinux setting from 'disabled' to 'permissive', a restart of the machine is needed. After that you will need to retrigger "bahmni install" to continue with the rest of the installation.

bahmni_repo_url''The repo from which bahmni rpms are downloaded. Ideally, this should not be changed in prod. But developers who wish to use in-development versions of bahmni rpms, can set the value to
''. If you don't set this variable, Bahmni will point by default to bintray (where we host publicly released rpm versions). 
two_factor_authdisabledThis property enables/disables the installation of two-factor authentication service. The possibles values are enabled and disabled.
omodsNot Mandatory. If defined in setup.yml will download the modules.

Define all the extra OpenMRS omods that needs to be downloaded. We can download omod modules from different urls.



    - url:<FIRST_URL>

       modules: [example_module.omod]

  - url: <SECOND_URL>

       modules: [another_example_module.omod]


passwordNew password for mysql root user (in cleartext)
mysql_old_root_passwordpasswordOlder mysql root password i.e the current mysql root password. Will be used for changing password. (in cleartext)


8050The port on which openmrs service listens


8051The port on which bahmni-reports service listens


8052The port on which bahmni-lab service listens


8053The port on which bahmni-erp-connect service listens


8054The port on which pacs-integration service listens


8055The port on which dcm4chee listens


8056The port used by one of the dcm4chee connector


8057The port on which bahmni-event-log-service listens


8058The port on which bahmni-two-factor-auth service listens


"-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"

JVM Options for OpenMRS (which control how much RAM is assigned to the process, and other such parameters). Please read more about this here:

OpenMRS admin user that is also used for atomfeed sync in other components.

Note that on changing this property, the user will NOT be created automatically in OpenMRS. It has to be created manually in OpenMRS.

If you have enabled two factor authentication, assign bypass2FA role to this user in order to skip two factor authentication for atom feed clients.


testPassword for openmrs admin user. Changing this property would UPDATE the password for openmrs admin user (in cleartext)
nagios_contact_emailNo default provided. Mandated to add in setup.yml if you are installing Nagios.Email id to which nagios should send notifications


No default provided. Mandated to add in setup.yml if you are setting up Nagios.Email id from which nagios should send notifications


No default provided. Mandated to add in setup.yml if you are setting up Nagios.Password for email id from which nagios should send notifications (in cleartext)
bahmni_support_userbahmni_supportUser created for support purposes. This is a user on the server/machine where you installed bahmni. To confirm that you have successfully changed the username and/or password, try to log in to the machine (or ssh into the server) using the username and password.


Hash for text 'p@ssw0rd'

Password hash for bahmni_support_user.

It is highly recommended that you change the default password, so that your server isn't vulnerable to SSH access using default credentials.

To generate a hash for a string, one needs to execute the following command, by specifying a secure and strong password, and some random salt string:

python -c 'import crypt; print crypt.crypt("my-password", "$1$SomeSaltOfMyChoice$")'

The output of this command will be the full encoded hash for the password. Paste the full output.

For instance:

Then in YAML file enter

bahmni_password_hash: $1$SomeSalt$/jbIwfYCu0MxPBND2EtRH.

SSLCertificateFilePath/opt/bahmni-certs/certs/cert1.pemSSL Certificate File
SSLCertificateKeyFilePath/opt/bahmni-certs/certs/privkey1.pemSSL Certificate Private Key
SSLCertificateChainFilePath/opt/bahmni-certs/certs/chain1.pemSSL Certificate Chain File path. Refer to this site for explanation on what these keys mean.
dcm4chee_study_uidNo default provided. Mandated to add in setup.yml if you are setting up dcm4chee.Study uid is id that is unique for each implementation. To specify the study uid 'dcm4chee_study_uid' should be set in the setup.yml.
Example:-  "dcm4chee_study_uid:"
reports_save_dir/home/bahmni/reports/Specify the directory that should be used to save scheduled reports.
openerp_urlNo default provided. Optional. Will be automatically detected while installation.

Specify the url that should be used for accessing openerp application on the landing page.

Please refer Setup HTTPS for OpenERP for more info


OpenELIS user that will be used by other components for atomfeed sync

If you configure the username, you must update it in OpenELIS manually.


OpenELIS password for atomfeed user used by other components for atomfeed sync

If you configure the password, you must update it in OpenELIS manually.

"8eeed2ea9f48b688cd01b888d3c72bec" of jre-8u101-linux-x64.rpm

Md5checksum for jre or jdk rpm needs to be specified, if the version choose to install changes from default rpm version.

Get rpm checksums here Url will change depends on version.


/home/bahmni/pacs_images/archiveArchive directory of dcm4chee

Specify the URL of the mx rpm to download and install. 
Appears in Bahmni 0.91. 
mysql_version5.7.30The mysql version which gets installed as part of bahmni. Can be used pass different mysql version other than default.