2.1 Docker package improvement

Enhancement of openIMIS dockerization

For better distribution, docker can be used to facilitate the installation of openIMIS. The repository https://github.com/openimis/openimis-dist_dkr/tree/develop was updated to let users provide their own configuration using local files. For this, the user has to provide the openimis.json file locally using the appropriate environmental variable. Two files can be provided for the backend and frontend configuration (from the https://github.com/openimis/openimis-dist_dkr/blob/develop/README.md):

BE_CONF_PATH=<the path to your config file, has to be local> FE_CONF_PATH=<the path to your config file, has to be local>

Additionally if the user wants to provide development settings, there is a variable for the path where this configuration file would be located:

DEV_PATH=<the path to your developer config, optional>

For even easier installation, the different repositories will be built on the fly directly from GitHub (repository previously provided). The user can change the branch using the variables:

BE_BRANCH=<branch of the backend repository to be used> FE_BRANCH=<branch of the frontend repository to be used> DB_BRANCH=<branch of the database repository to be used> GW_BRANCH=<branch of the gateway repository to be used>

openIMIS integrated with Instant OpenHIE

A package to include not only openIMIS, but also services that could be required by an user, e.g. a mediator (OpenHIM) or a FHIR server (Hapi), was developed. For this purpose, we extend the work of the OpenHIE, so called Instant OpenHIE (https://github.com/openhie/instant) to include openIMIS as a service (https://github.com/openimis/openimis-dist_instant_openhie/tree/develop).

To satisfy the Instant OpenHIE requirements, some alterations were necessary to the openIMIS docker package. The manual steps for the installation of the database were eliminated, so that the only command the user requires is:

./deploy.sh init core openimis-db_dkr openimis-dist_dkr -c="./openimis-db_dkr" -c="./openimis-dist_dkr"

To clean up the project you'd use destroy instead of init. The commands up and down known from docker-compose are also allowed.
Alternatively, you can achieve the same by cloning the repository, and running it with yarn. Having the repository locally, would replace the need of the deploy.sh.
Given that the service is in a directory that follows Instant OpenHIE structure, this implementation is extendable with any service the user may want by adding the package ID to the previous command with the corresponding path.
The variables for both services are now in the docker/compose.sh files of each service as opposed of the .env file in the previous repository.

 

Did you encounter a problem or do you have a suggestion?

Please contact our Service Desk



This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/