Hey community,
Quick update on the OpenEMR on OpenShift project. Patch 1 dropping this week was a good excuse to overhaul the container build and deployment pipeline. Here’s what’s new:
Patch 1 support with automatic upstream tracking. The CI/CD pipeline now queries the OpenEMR GitHub tags every Monday and auto-detects the latest stable release — no manual version bumps needed. When 8.0.0.2 lands, the pipeline will find it, build it, and push to Quay.io without anyone touching a file. Scheduled builds also always rebuild to pick up CentOS Stream security patches and PHP updates from Remi, even if the OpenEMR version hasn’t changed.
PHP 8.5 and Node.js 22. The container now runs PHP 8.5 from Remi’s repo (up from 8.4) and Node.js 22 for the frontend build, matching OpenEMR’s documented requirements.
Care Coordination and Management Modules now work. Two fixes here: an nginx rewrite rule for Zend Framework routes (these were returning 404 because nginx didn’t know to route them through the Zend front controller), and the CQM execution service (oe-cqm-execution) is now included in both the bash deploy script and the Ansible playbook. CCDA, QRDA, and the module manager all load correctly.
PVC mount overlay fix. When a PersistentVolumeClaim is mounted at sites/default/ (which you need for document persistence across pod restarts), it hides files baked into the container image — including config.php. The entrypoint now preserves a backup of the default site files at build time and restores any missing ones on startup. Fresh deploys just work.
Everything still deploys in one command:
git clone https://github.com/ryannix123/openemr-on-openshift.git
cd openemr-on-openshift
./deploy-openemr.sh
Works on the free Developer Sandbox, SNO, or a full cluster. Storage class is auto-detected. The Ansible playbook (deploy-openemr.yml) is also updated with the same changes for those who prefer the world’s most robust automation tool.
The container image is public at quay.io/ryan_nix/openemr-openshift:latest. PRs and issues welcome on GitHub.
