Install Bahmni on Cloud (Digital Ocean)

You can install Bahmni on the Cloud, as long as you meet the System Requirements (64-bit Ubuntu v22.x along with Docker). One easy way of doing this is on Digital Ocean. Sign up using this referral link (you get 200$ credited to your account). Digital Ocean gives you a computer with a public IP on the cloud, with high speed internet access, and SSD drives. Please read the pricing FAQ for Digital Ocean. To see how to install Bahmni with docker here: Running Bahmni on Docker. In this case you should provision the latest Ubuntu machine with 8GB RAM (if you want to run the whole suite).


Legal Implications of Cloud Deployments

Many countries have legal restrictions on storing medical data on the cloud. If you are unsure of your local laws & regulations, then please do NOT put real data on the cloud. Use the steps mentioned in this document only to "evaluate" or "play" with Bahmni on the Cloud.

Poor Internet

The advantage with deploying on the Cloud is that you can snapshot your machines, restore them quickly, and don't need to worry about Hardware. Also, if you have slow internet, then you can use a Cloud server, since the cloud machines have high speed internet access for downloads and uploads, while you use a slow ssh connection to talk to the computer. Downloading everything on your own machine can require higher internet speeds, and you may not want to do that if you have poor internet.

This page is currently limited to Digital Ocean. But, if you are familiar with AWS, Linode or any other IaaS cloud providers, then you can install and try Bahmni there. All you need is a 64-bit Ubuntu version (or any Linux OS that supports Docker) machine with the hardware configuration described in the System Requirements.

For instance please read this post on how a community member setup Bahmni on AWS (old way of Installing on CentOS with rpm): https://talk.openmrs.org/t/how-to-install-bahmni-on-aws/10445. Recommended way now is with Docker (and not rpm).

Bahmni on AWS

Bahmni can also be now deployed on AWS (and Kubernetes), using Terraform. The code is opensource and you can read more about this here: Install Bahmni on AWS Kubernetes Or, you can install on a standalone EC2 instance, in which case the same steps as Digital Ocean mentioned below are valid.


Steps to Install Bahmni on Digital Ocean

Step 1: Create an account on Digital Ocean. Sign up using this referral link to get 200$ credited to your account.

Step 2: Create a Droplet with the following settings at minimum (Read steps here):

  • 64-bit Ubuntu (v20/22.x)
  • For the hardware configuration, please see Bahmni System Requirements  (for instance: 8 GB RAM, 150 GB disk)
  • A region close to your geographical location for faster network speed
  • Enable "Private Networking"
  • Add your Public SSH Key (else they will email you a root login password). SSH Key is more secure and recommended.

Step 3: You should be able to login into your machine using the command "ssh root@<ip-of-your-droplet>

Step 4: Setup swap space on your machine using these steps (for reference read this document). We want to setup 4 GB  of swap space.

Setup 4 GB Swap Space on CentOS
# Informs you of how much swap space is allocated. if nothing is returned, then its not setup.
swapon -s   
 
# To setup 4096k (4GB swap space) do these steps: 
sudo dd if=/dev/zero of=/swapfile bs=1024 count=4096k
sudo mkswap /swapfile

# Activate the swap file
sudo swapon /swapfile  
echo '/swapfile   swap   swap    defaults        0 0' | sudo tee --append /etc/fstab
 
# Check if swap space is setup
swapon -s   


Now you have a fresh 64-bit Ubuntu Box available with 4GB swap space setup. You can choose to snapshot this box, so that you don't need to repeat these steps next time you need a fresh box.


NOTE: Digital Ocean servers, and other similar cloud providers can be vulnerable to attacks by malicious hackers. Please ensure you safeguard your droplet, and follow these instructions after having installed Bahmni, to improve the security of your droplet and setup firewall:

https://www.digitalocean.com/community/tutorials/7-security-measures-to-protect-your-servers (and also see Bahmni Security Guide)

Step 5: To Install Bahmni follow this document: Running Bahmni on Docker (recommended)


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