New project to deploy OpenEMR on Kubernetes

Hello,

I am proposing to make OpenEMR into a Kubernetes resource for my Capstone Project in Northwestern’s Health Informatics program.

The aim:

  • Make OpenEMR easier to deploy in a system like Red Hat’s OpenShift where the containers can not run as root, and rolling deployments make downtime non-existent.
  • Deploying OpenEMR in Kubernetes helps OpenEMR scale nicely based on demand.
  • Red Hat OpenShift is an enterprise Kubernetes distribution. OpenShift hides a lot of the complexity of containerization technologies. e.g., shifting from Docker to Podman.

A few goals:

  • Have a database container that is pre-populated with the OpenEMR schema.
  • Ensure OpenEMR and its components do not run as root.
  • Make OpenEMR as easy to deploy as possible through a single YAML file.

I could certainly use some help with this endeavor, and I will be opening a project on Github soon. If you have any interest, please let me know.

  • Ryan

hi @Ryan_Nix, did you see this post?

Hi Ryan,

So glad to hear you’d like to contribute to OpenEMR as a Capstone project.

Are you on slack? I’d be happy to hear your project ideas.
https://www.open-emr.org/wiki/index.php/OpenEMR_Slack_Chat

We did recently see a request to be able to look up patients with biometric data like a fingerprint.
Would that undertaking be of any interest to you? I think it would be very useful for clinics in areas with particularly migratory populations or without good population data.

Best of luck with your capstone project
-Rachel

Thanks, Rachel! I’ll definitely sign up for the Slack channel.

The biometric data sounds interesting. However, I’m already committed to deploying OpenEMR as a Kubernetes resource, although my advisor still needs to approve it! :slight_smile:

I haven’t seen that post! @Nicholas_Steblay maybe you and I can work on this together?

I did use the kompose.io tool to transform the docker-compose file into YAML files.
GitHub - ryannix123/openemr-kube: OpenEMR project for Kubernetes distributions such as Red Hat Openshift

The only issue I see is that I would prefer not to run containers as root. Red Hat has done a very good job of making their containers not run as root, although admittedly that means tweaking the application.

Why is running a container as a non-root user important? For starters it would allow people to run OpenEMR securely in a multi-tenet environment. i.e., any security breach wouldn’t compromise other containers on the same system.

@Ryan_Nix I’m also interested in seeing this done and we have a healthy group of folks at Red Hat that are helping. Please hit me up on slack so we can collaborate.

Thanks, Jeff. Will do!