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.
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.