Looking for Documentation and Experience Automating OpenMRS installation and Upgrades

Dear OpenMRS Community,

I’m looking to gather information, examples, and any existing documentation related to automating OpenMRS installation and deployment for new instances and automating upgrades for existing implementations.

We would love to learn from what others in the community have already done or are doing. Specifically, it will be helpful to understand:

  • Whether you or your teams have implemented automated deployment pipelines or scripts for OpenMRS
  • Where to get existing scripts, repos, or documentation that support automated deployment/installation
  • Experience using automation or DevOps tooling with OpenMRS
  • Approaches and solutions for managing automated upgrades, including database migrations, module updates, and platform/version compatibility
  • Lessons learned, pitfalls to avoid, and recommended best practices

If you’ve done any of this work or know of community projects, distributions, or implementations that have, please share links, notes, or even quick pointers. All input is appreciated.

Thanks in advance and looking forward to learning from your experiences!

@dkayiwa @dennis @veronica

1 Like

@slubwama do you mind sharing what you did for UgandaEMR?

1 Like

@dkayiwa sure. Lets look at what we have done overtime towards a national scale of 1900 site.

  • First we setup UgandaEMR using an nsis installer which bundled all things. We hosted it on source forge and implementers could download it and install in windows environments.
  • Once this propagated we switched to war file releases still shared via sourceforge but with links off from the website.
  • Linux Phase. we build an Sh script that could install all that OpenMRS needed and distributed the to the partners to install.
  • Latest approach is use of the inbuilt updates. We setup a repo that hosts artifacts such as modules, metadata, and frontend files and customised fuctionality of the EMR to pull changes from this github repo. (Simplest sofar). This way non tech users get to upgrade their systems with a click of a button without the need to get any artefacts manually.
  • For the Future we are looking into dockerization as it seems like it might help the lightweight environments to quickly spin up instances.

For documentation we have used gitbook to document the UgandaEMR User Manual.

Hope this helps

2 Likes