Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Concept update #22

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Build Docker Image

on:
pull_request:
branches: [main,test]
release:
types: [published]
push:
branches: [main,test]
workflow_dispatch:

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
build-publish:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Set up QEMU
uses: docker/setup-qemu-action@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Log in to the Container registry
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

- name: Publish Docker Image
uses: docker/build-push-action@v3
with:
context: .
platforms: linux/amd64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=inline,ref=user/app:buildcache
cache-to: type=inline,ref=user/app:buildcache,mode=max
46 changes: 6 additions & 40 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,43 +3,10 @@
#
#

FROM uwitech/ohie-base


# Install dependencies
RUN apt-get update && \
apt-get install -y software-properties-common
RUN add-apt-repository ppa:openjdk-r/ppa && \
apt-get update && \
apt-get install -y git build-essential curl wget software-properties-common openjdk-7-jre mysql-client

# Install Tomcat
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
RUN mkdir -p "$CATALINA_HOME" && \
mkdir /var/log/xdslog && \
chmod 777 /var/log/xdslog

WORKDIR $CATALINA_HOME

ENV GPG_KEYS 05AB33110949707C93A279E3D3EFE6B686867BA6 07E48665A34DCAFAE522E5E6266191C37C037D42 47309207D818FFD8DCD3F83F1931D684307A10A5 541FBE7D8F78B25E055DDEE13C370389288584E7 61B832AC2F1C5A90F0F9B00A1C506407564C17A3 713DA88BE50911535FE716F5208B0AB1D63011C7 79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED 9BA44C2621385CB966EBA586F72C284D731FABEE A27677289986DB50844682F8ACB77FC2E86E29AC A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23
RUN set -ex; \
for key in $GPG_KEYS; do \
gpg --keyserver hkp://ha.pool.sks-keyservers.net --recv-keys "$key" || gpg --keyserver hkp://pgp.mit.edu --recv-keys "$key"; \
done

ENV TOMCATVER 7.0.73

ENV TOMCAT_TGZ_URL http://archive.apache.org/dist/tomcat/tomcat-7/v${TOMCATVER}/bin/apache-tomcat-${TOMCATVER}.tar.gz

RUN set -x \
&& curl -fSL "$TOMCAT_TGZ_URL" -o tomcat7.tar.gz \
&& curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat7.tar.gz.asc \
&& gpg --verify tomcat7.tar.gz.asc \
&& tar -xvf tomcat7.tar.gz --strip-components=1 \
&& rm bin/*.bat \
&& rm tomcat7.tar.gz*
FROM tomcat:8.5-jdk8-adoptopenjdk-hotspot

# Install MySQL client
RUN apt-get update && apt-get install -y git build-essential curl wget mysql-client

# Install dockerize
ENV DOCKERIZE_VERSION v0.2.0
Expand Down Expand Up @@ -72,9 +39,7 @@ ADD modules/openhie-client-0.1-SNAPSHOT.omod ${TEMP_MODULES}/openhie-client-0.1-
ADD modules/exportccd-1.0.0-SNAPSHOT.omod ${TEMP_MODULES}/exportccd-1.0.0-SNAPSHOT.omod

# Load DATABASE script file
RUN curl -L "https://s3.amazonaws.com/openshr/openmrs.sql.gz" \
-o openmrs.sql.gz \
&& gunzip openmrs.sql.gz
ADD openmrs.sql openmrs.sql

ADD openshr-configuration.sql openshr-configuration.sql
COPY concepts.sql shrdata.sql* /usr/local/tomcat/
Expand All @@ -90,4 +55,5 @@ ADD openmrs-runtime.properties.tmpl "${CATALINA_HOME}/openmrs-runtime.properties
ADD setenv.sh.tmpl "${CATALINA_HOME}/bin/setenv.sh.tmpl"

# Run openmrs using dockerize
CMD ["dockerize","-template","/usr/local/tomcat/bin/setenv.sh.tmpl:/usr/local/tomcat/bin/setenv.sh","-template","/usr/local/tomcat/openmrs-runtime.properties.tmpl:/usr/local/tomcat/openmrs-runtime.properties","-wait","tcp://openmrs-mysql-db:3306","-timeout","200s","/root/cmd.sh", "run"]
ENTRYPOINT dockerize -template /usr/local/tomcat/bin/setenv.sh.tmpl:/usr/local/tomcat/bin/setenv.sh -template /usr/local/tomcat/openmrs-runtime.properties.tmpl:/usr/local/tomcat/openmrs-runtime.properties -wait tcp://$MYSQL_HOST:$MYSQL_PORT -timeout 200s /root/cmd.sh run

15 changes: 8 additions & 7 deletions cmd.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,29 +29,29 @@ else
cp /root/temp/modules/*.omod $OPENMRS_MODULES
echo "Modules copied."

DB=`mysql -u root -p${MYSQL_ROOT_PASSWORD} --skip-column-names -e "SHOW DATABASES LIKE '${OPENMRS_DATABASE}'"`
DB=`mysql --ssl-mode=DISABLED -u root -p${MYSQL_ROOT_PASSWORD} --skip-column-names -e "SHOW DATABASES LIKE '${OPENMRS_DATABASE}'"`
if [ "$DB" != "${OPENMRS_DATABASE}" ]; then
echo "# Init database for OpenMRS #"

mysql -u root -p${MYSQL_ROOT_PASSWORD} -e "CREATE DATABASE ${OPENMRS_DATABASE};"
mysql --ssl-mode=DISABLED -u root -p${MYSQL_ROOT_PASSWORD} -e "CREATE DATABASE ${OPENMRS_DATABASE};"

mysql -u root -p${MYSQL_ROOT_PASSWORD} -e "GRANT ALL ON openmrs.* to '${MYSQL_USER}'@'%' identified by '${MYSQL_PASSWORD}';"
mysql --ssl-mode=DISABLED -u root -p${MYSQL_ROOT_PASSWORD} -e "GRANT ALL ON openmrs.* to '${MYSQL_USER}'@'%' identified by '${MYSQL_PASSWORD}';"

echo "Create database openmrs from file < openmrs.sql"
mysql -u root -p${MYSQL_ROOT_PASSWORD} openmrs < openmrs.sql
mysql --ssl-mode=DISABLED -u root -p${MYSQL_ROOT_PASSWORD} openmrs < openmrs.sql

echo "Load concepts to openmrs database from file < concepts.sql"
mysql -u root -p${MYSQL_ROOT_PASSWORD} openmrs < concepts.sql
mysql --ssl-mode=DISABLED -u root -p${MYSQL_ROOT_PASSWORD} openmrs < concepts.sql

if [ $data_file -eq 1 ]; then
echo "Load data to openmrs database from file < shrdata.sql"
mysql -u root -p${MYSQL_ROOT_PASSWORD} openmrs < shrdata.sql
mysql --ssl-mode=DISABLED -u root -p${MYSQL_ROOT_PASSWORD} openmrs < shrdata.sql
else
echo "Add shrdata.sql file to this direcatory to load data into SHR database"
fi

echo "Update database openmrs with SHR configuration from file < openshr-configuration.sql"
mysql -u root -p${MYSQL_ROOT_PASSWORD} openmrs < openshr-configuration.sql
mysql --ssl-mode=DISABLED -u root -p${MYSQL_ROOT_PASSWORD} openmrs < openshr-configuration.sql

echo "Finish init database"
rm openmrs.sql
Expand All @@ -64,4 +64,5 @@ fi


echo "# Start TOMCAT #"
export CATALINA_OPTS="$CATALINA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1048"
catalina.sh run
290 changes: 141 additions & 149 deletions concepts.sql

Large diffs are not rendered by default.

Loading