Dockerizing local setup

Tags: #<Tag:0x00007f01b6d4b728>

Is there a reason why the local setup isn’t dockerized? It looks like all dependencies are supposed to be manually installed: https://wiki.openmrs.org/display/docs/Step+by+Step+Installation+for+Developers

If there’s a compelling reason why we shouldn’t be using Docker, then we should at least have a setup script that handles the dependency installation automatically. I’ve written such scripts for monolithic applications in the past that had too much overhead to run Docker or local kubernetes.

We have had some docker conversations here: Dockerizing OpenMRS

And here: Docker image for openMRS

Thanks @dkayiwa. It looks like people have had success both with dockerizing OpenMRS for production environments, and enabling local setup with docker-compose. That’s a great start.

I’m interested in further optimizing local setup for developers. With the right tooling, I think we could make it significantly easier for developers to start contributing to OpenMRS.

Docker-compose is rather slow for local development (especially when you want to frequently push small changes to your code), which is probably why the install-everything-locally approach is more popular.

I’ve been doing some research on local development with Kubernetes (although I know the OpenMRS stack won’t benefit from horizontal scaling), and this tool looks promising to me: https://www.telepresence.io/discussion/why-telepresence. I’ll investigate it further, and see if I can set up a working instance with it.

Just in case you have not had a chance to also look at this: https://wiki.openmrs.org/display/docs/OpenMRS+SDK