This project holds the build configuration for the OpenMRS 3.0 reference application, found on https://dev3.openmrs.org and https://o3.openmrs.org.
docker compose build
docker compose up
The new OpenMRS UI is accessible at http://localhost/openmrs/spa
OpenMRS Legacy UI is accessible at http://localhost/openmrs
This distribution consists of four images:
- db - This is just the standard MariaDB image supplied to use as a database
- backend - This image is the OpenMRS backend. It is built from the main Dockerfile included in the root of the project and
based on the core OpenMRS Docker file. Additional contents for this image are drawn from the
distro
sub-directory which includes a full Initializer configuration for the reference application intended as a starting point. - frontend - This image is a simple nginx container that embeds the 3.x frontend, including the modules described in the
frontend/spa-build-config.json
file. - proxy - This image is an even simpler nginx reverse proxy that sits in front of the
backend
andfrontend
containers and provides a common interface to both. This helps mitigate CORS issues.
This project uses the Initializer module to configure metadata for this project. The Initializer configuration can be found in the configuration subfolder of the distro folder. Any files added to this will be automatically included as part of the metadata for the RefApp.
Eventually, we would like to split this metadata into two packages:
openmrs-core
, which will contain all the metadata necessary to run OpenMRSopenmrs-demo
, which will include all of the sample data we use to run the RefApp
The openmrs-core
package will eventually be a standard part of the distribution, with the openmrs-demo
provided as an optional add-on. Most data in this configuration should be regarded as demo data. We
anticipate that implementation-specific metadata will replace data in the openmrs-demo
package,
though they may use that metadata as a starting point for that customization.
To help us keep track of things, we ask that you suffix any files you add with either
-core_demo
for files that should be part of the demo package and -core_data
for
those that should be part of the core package. For example, a form named test_form.json
would become
test_core-core_demo.json
.
Frontend configuration can be found in frontend/config-core_demo.json
.
Thanks!