Running Bahmni on Apple Silicon M1 macs

If you are trying to setup Bahmni on the newer Apple Silicon M1 chipsets, then you might run into some troubles.

Bahmni Vagrant (using VirtualBox) are not going to run on M1, since VirtualBox is designed for Intel x84 architectures, and M1 isn’t built on Intel-x84. So, that is no longer an option for those folks. We currently don’t have any plans of making Vagrant/Virtual box versions for MacM1.

Read more here: macbook pro - Does VirtualBox run on Apple Silicon? - Ask Different

Here are your options:

  1. Run Bahmni on Docker. This works (although @angshuonline did struggle setting it up on his new M1 machine). JIRA ticket which added this support is here: BAH-1650. If you want to run an older version of Bahmni on docker, then you will need to dockerize that version (reference: Older Bahmni docker). Most of the Bahmni team has now shifted to Docker based development workflow.

  2. Run Bahmni on a Linux cloud machine (will require additional steps of deploying the jar/war file over SFTP after each development build, which can feel painful).

Thoughts by other?

Can you share the detailed steps mentioned for point 2 which we can try? @gsluthra

The option 2 above means runs Bahmni on a different server box – which can be on AWS, DigitalOcean etc.

  1. Spin up a CentOS machine on the cloud (steps).
  2. Install Bahmni on that machine.
  3. Setup code locally on your laptop for development. Build war, omod, etc locally.
  4. Transfer this file onto the remote server (using sftp).

(Pretty painful!)

This is the same as running Bahmni on a VM (local Linux machine). But now, instead of running it on Local Linux, you are running it on a different cloud machine.

I would suggest to first try the docker option instead.

UPDATE: Quite a few folks are having trouble starting/running OpenMRS on Apple Mac M1 machines. This is under investigation, and once a dependable fix is in place, we will update this thread with more information. Fingers crossed this is available soon!!

UPDATE: We have updated bahmni/openmrs image to use openmrs/openmrs-core as the base image which supports ARM architecture. Now running Bahmni with Docker on Mac M1/M2 should be smooth.

Please follow the steps below:

  1. Pull bahmni-docker repository.
  2. Pull latest images → docker compose --profile openmrs pull
  3. Start services → docker compose --profile openmrs up -d

For more advanced configuration please refer here.

Note: Currently the image is based on openmrs-core:2.5.x-nightly build. Will update here once a tagged release build is ready.

cc. @gsluthra @mradul.jain @umairfayaz