Bahmni Installation Approach

Hey there!

This is Arun V G, software engineer.

A few days back I had created a topic that I was stuck with Bahmni Installation.

As I had stated earlier in that, I am still facing issues installing it.

Progress: I have downloaded OMOD files of 4 backend repos, setup the bahmni frontend build and in the yarn ci step within the ui subfolder, facing some potential warnings that aborts the build process and generates broken styling when deployed, troubleshooting that!

I know that the recommended approach is to use Docker Compose as stated in the Bahmni Wiki Documentation but that didn’t work smoothly either.

Can anyone tell me how to make the Docker Compose Approach work properly? Or is there any other approach to set it up in Docker? Any tips?

I am currently trying to pull all the dependencies locally and do it, building frontend alone in Docker as Ruby installation in windows is a issue. Using OpenMRS Standalone Platform v2.5.0 for uploading the OMOD backend files to it. This approach is hard, takes many days and can’t even say whether it’s a guaranteed approach to success or to implement it but since I don’t got any option, I am trying this difficult part.

Any bright ideas to do it way simpler? Please feel free to reply to this topic. I appreciate it. Thanks!

@mohant @rahu1ramesh please help

1 Like

Hi Arun,

Thanks for sharing the detailed context — really appreciate the persistence you’ve shown so far.

You’re absolutely right that manually setting up Bahmni by uploading OMODs to the OpenMRS Standalone and building frontend assets outside of Docker is both time-consuming and brittle. Fortunately, the Docker Compose-based setup is indeed the most streamlined and repeatable way to get Bahmni running locally — especially for development.

Here are a few tips to help you get Docker Compose working smoothly:

:white_check_mark: Recommended Setup Approach: Bahmni Lite using Docker

The Bahmni team maintains a Docker-based development setup that simplifies local deployment. It includes:

  • OpenMRS with pre-configured OMODs
  • Bahmni Apps frontend
  • Bahmni Configs
  • Dependencies like MySQL, OpenELIS, Odoo, etc.

:wrench: Steps to Try (Clean Setup):

  1. Clone the Docker setup repo:

    git clone https://github.com/Bahmni/bahmni-docker.git
    cd bahmni-docker
    
  2. Create a branch for your Bahmni version: Default is typically for the latest. For specific versions (e.g., bahmni-erp-implementations-1.0.0), switch to a new branch and change the image versions.

  3. Start the environment:

Run the below script and choose the appropriate option.

./run-bahmni.sh .env
  1. Access Bahmni:

  2. For frontend development:

    • You can mount your local bahmni-app code to the bahmni-web service for live development.

:spouting_whale: If Docker Is Failing

  • Make sure Docker Desktop is running properly (especially on Windows — WSL2 preferred).
  • Ensure ports 8080, 3306, etc., are free.
  • Run docker system prune -a (carefully) to remove stale containers/images.
  • Increase Docker’s memory allocation to at least 4–6 GB for Bahmni to run smoothly.

:red_exclamation_mark: Important Notes

  • If you’re only interested in developing Bahmni frontend, it’s perfectly fine to run backend via Docker and map frontend locally.

:light_bulb: TL;DR (Simpler Path)

  • Use the official bahmni-docker setup.
  • Run the full stack with docker-compose up -d.
  • Mount your local frontend code if needed.
  • Avoid OpenMRS Standalone and avoid building everything from scratch.

Let me know if you’d like a working sample docker-compose.override.yml or help debugging specific container errors — happy to assist.

1 Like

Thanks for the reply, Rahul. Sure, I will try and let you know about the Docker Compose Setup. Currently, I am having Hyper-V configured in Docker instead of WSL and I am trying the full setup of installing all the dependencies since Docker Compose didn’t work earlier.

@rahu1ramesh Hi Rahul, is it possible to schedule a demo and show me how it is working, by any chance? I am willing to contribute to the Bahmni Open Source Project and add enhancements to it. My company director is planning to leverage the Open Source Project to develop advanced functionalities in it and develop a product, of course by following the product licenses. So would you kindly let me know how this works by showing me a demo? Thanks!

We have a few of our demos recorded. Here is one for your reference:

  1. Demo Recording

Please let me know if you’d like access to additional recordings or context around any of the demos. I’d be happy to share more.

1 Like

Alright, Rahul. Thanks, will watch and let you know.

Hi Rahul, thanks for sharing the recording! It was very helpful and I am able to view the Bahmni Lite application now. Some issues are as stated. The Clinical page is blank as shown below.

The Implementer Interface page shows:

Bad Request:

Your browser sent a request that this server could not understand. Reason: You’re speaking plain HTTP to an SSL-enabled server port. Instead use the HTTPS scheme to access this URL, please.

And the Appointment Scheduling page: Bad Request error as above.

But when I manually type the prefix to the URL as https://, the bad request error vanishes away, need to configure that as default for the page, that’s one thing!

Apart from that, the Clinical page doesn’t show that error but the page doesn’t have any output either, it is blank and also configured as https only.

And the Lab Entry which shows 500 Internal Server Error, don’t know why.

Do you know why this happens for these two functionalities and how to resolve them?

Also, in the video, they had said that frontend can be modified from the frontend repo code and the changes are respectively shown here in this Bahmni Lite Application. What about backend? If I want to also add backend functionalities, how to make that happen? Any demos for that?

Likewise, if I do the Bahmni Standard also, will it work?

Furthermore, the Lab Entry page looks like this: