This page contains tech notes pertaining to OpenELIS dockerization activity.
draft page created for @Mohankumar Thangavel to update.
Separate OpenElis Schema and fresh data from dump file Done
Parameterise Hostname in atomfeed.properties file and hibernate.cfg.xml needs analysis
Analyse docker registries to store docker images DONE Going forward with existing Bahmni Repo on docker hub
Registry for storing build images
Registry for storing release images
Creating a new repository for Docker compose files NOT A PRIORITY
Volume mounting for OpenElis Application Data
Are we managing the bahmni docker hub repo ? https://hub.docker.com/u/bahmni CLARIFIED
OpenElis Fresh Database contains some data? Do we need all those ?
As an implementer, will I alter database using SQL statements ?
OpenELIS schema is done partially from Liquibase and partially from SQL Script
Currently there are two dockerfiles for OpenElis Db- One for fresh DB and the other for Demo DB.
Demo data for OpenElis application comes from emr-functional-tests repo.
Github Container Registry (beta)
Unlimited - Free
$0.10 \GB month
500 MB is free
Auto Clean Up
Need to do manually or by configuring an external cron job
Has built in features
Pull Rate Limits (May not be a considering factor)
100 pulls in six hours for anonymous users
Not yet released. May have some when public version is announced.
Data charges are levied based on the total data transfer happened.
Self Hosting Registry Server is also possible. https://docs.docker.com/registry/deploying/
Use Docker Hub for release images:
Standard docker registry used by most projects
Image naming is just simple (Ex: bahmni/openelis:0.93)
Use Github Container Registry for nightly build images:
As we have the plan of moving to Github Actions, this might be helpful in optimising build time.
Community members who want to test out build versions can explicitly pull and use these images in which case the image name must be replaced as ghcr.io/bahmni/openelis:0.93-121
Although docker hub supports any number of tags that can be stored in a repo, keeping it clean may help implementers to easily pickup right images.