Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
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
14 changes: 14 additions & 0 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,10 @@ MYSQL_DATADIR=
POSTGRES_DATADIR=
ODOO_FILESTORE=
ODOO_CONFIG_CHECKSUMS_PATH=
OPENELIS_TRUST_STORE=
OPENELIS_KEYS=
OPENELIS_CERTS=
OPENELIS_LUCENE_INDEX=

#
# Public Hostnames
Expand All @@ -271,6 +275,7 @@ SUPERSET_HOSTNAME=${HOST_NAME}:8088
FHIR_ODOO_HOSTNAME=${HOST_NAME}:8083
KEYCLOAK_HOSTNAME=${HOST_NAME}:8084
ORTHANC_HOSTNAME=${HOST_NAME}:8889
OPENELIS_HOSTNAME=${HOST_NAME}:8090

#
# Sample SSO Client Secrets used in the demo script
Expand Down Expand Up @@ -324,3 +329,12 @@ AWS_SECRET_ACCESS_KEY=

# Backup path for local restic repository
BACKUP_PATH=

# OEG
ADMIN_PASSWORD=superuser
OE_DB_PASSWORD=clinlims

SSL_TRUSTSTORE_PATH=/etc/openelis-global/truststore
SSL_TRUSTSTORE_PASSWORD=tspass
SSL_KEYSTORE_PATH=/etc/openelis-global/keystore
SSL_KEYSTORE_PASSWORD=kspass
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: CI

on:
push:
branches: [ "main" ]
branches: [ main, dev ]
pull_request:
branches: [ "main" ]
branches: [ main, dev ]
release:
types: [published]

Expand All @@ -17,8 +17,8 @@ jobs:
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}

release:
if: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'release' }}
publish:
if: ${{ (github.event_name == 'push' && ( github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev' )) || github.event_name == 'release' }}
needs: validate
uses: mekomsolutions/shared-github-workflow/.github/workflows/maven-publish.yml@main
secrets:
Expand Down
4 changes: 2 additions & 2 deletions bundled-docker/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<groupId>com.ozonehis</groupId>
<artifactId>bundled-docker</artifactId>
<name>Bundled Docker</name>
<version>1.0.0-SNAPSHOT</version>
<version>1.0.0-dev-SNAPSHOT</version>
<packaging>pom</packaging>

<organization>
Expand All @@ -20,7 +20,7 @@

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<ozoneDemoDataVersion>1.0.0-SNAPSHOT</ozoneDemoDataVersion>
<ozoneDemoDataVersion>1.0.0-dev-SNAPSHOT</ozoneDemoDataVersion>
<true>true</true>
</properties>

Expand Down
2 changes: 1 addition & 1 deletion docker-compose-common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ services:
restic-compose-backup.mariadb: true

postgresql:
command: postgres -c wal_level=logical -c max_wal_senders=10 -c max_replication_slots=10 -c max_connections=200
command: postgres -c wal_level=logical -c max_wal_senders=10 -c max_replication_slots=10 -c max_connections=200 -c max_slot_wal_keep_size=2GB
environment:
POSTGRES_DB: postgres
POSTGRES_USER: ${POSTGRES_USER}
Expand Down
1 change: 1 addition & 0 deletions docker-compose-demo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ services:
- KEYCLOAK_USER_CREATION_ENABLED=${ENABLE_SSO}
- KEYCLOAK_DEMO_DATA_CLIENT_ID=keycloak-admin-sa
- KEYCLOAK_DEMO_DATA_CLIENT_SECRET=${KEYCLOAK_ADMIN_SA_CLIENT_SECRET}
- KEYCLOAK_HEALTHCHECK_ENDPOINT=http://keycloak:9000/health/ready
restart: on-failure
networks:
ozone:
Expand Down
9 changes: 9 additions & 0 deletions docker-compose-eip-odoo-openmrs-sso.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
services:

eip-odoo-openmrs:
environment:
OAUTH_ACCESS_TOKEN_URL: ${OAUTH_ACCESS_TOKEN_URL}
OAUTH_ENABLED: ${ENABLE_SSO}
OAUTH_CLIENT_ID: ${OAUTH_CLIENT_ID}
OAUTH_CLIENT_SECRET: ${OAUTH_CLIENT_SECRET}
OAUTH_CLIENT_SCOPE: ${OAUTH_CLIENT_SCOPE}
63 changes: 63 additions & 0 deletions docker-compose-eip-odoo-openmrs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
services:

# Odoo - OpenMRS integration service
eip-odoo-openmrs:
depends_on:
env-substitution:
condition: service_completed_successfully
openmrs:
condition: service_healthy
mysql:
condition: service_started
odoo:
condition: service_started
environment:
- EIP_DB_NAME_ODOO=${EIP_DB_NAME_ODOO}
- EIP_DB_USER_ODOO=${EIP_DB_USER_ODOO}
- EIP_DB_PASSWORD_ODOO=${EIP_DB_PASSWORD_ODOO}
- ODOO_DATABASE=${ODOO_DATABASE}
- ODOO_USER=${ODOO_USER}
- ODOO_PASSWORD=${ODOO_PASSWORD}
- ODOO_URL=http://odoo:8069
- OPENMRS_URL=http://openmrs:8080/openmrs
- EIP_PROFILE=prod
- MYSQL_ADMIN_USER=root
- MYSQL_ADMIN_USER_PASSWORD=${MYSQL_ROOT_PASSWORD}
- OPENMRS_DB_HOST=${OPENMRS_DB_HOST}
- OPENMRS_DB_PORT=${OPENMRS_DB_PORT}
- OPENMRS_DB_NAME=${OPENMRS_DB_NAME}
- OPENMRS_DB_USER=${OPENMRS_DB_USER}
- OPENMRS_DB_PASSWORD=${OPENMRS_DB_PASSWORD}
- OPENMRS_USER=${OPENMRS_USER}
- OPENMRS_PASSWORD=${OPENMRS_PASSWORD}
- EIP_FHIR_RESOURCES=Patient,ServiceRequest,MedicationRequest
- EIP_FHIR_SERVER_URL=http://openmrs:8080/openmrs/ws/fhir2/R4
- EIP_FHIR_USERNAME=${OPENMRS_USER}
- EIP_FHIR_PASSWORD=${OPENMRS_PASSWORD}
- EIP_TEST_ORDER_TYPE_UUID=${EIP_TEST_ORDER_TYPE_UUID}
- EIP_ODOO_FHIR_SERVER_URL=${EIP_ODOO_FHIR_SERVER_URL}
- EIP_ODOO_FHIR_USERNAME=${ODOO_USER}
- EIP_ODOO_FHIR_PASSWORD=${ODOO_PASSWORD}
- EIP_PRODUCT_SYNC_INITIAL_DELAY=${EIP_PRODUCT_SYNC_INITIAL_DELAY}
- EIP_PRODUCT_SYNC_DELAY=${EIP_PRODUCT_SYNC_DELAY}
image: mekomsolutions/eip-client
networks:
ozone:
aliases:
- eip-client-odoo
- eip-odoo-openmrs
restart: unless-stopped
volumes:
- "${EIP_ODOO_OPENMRS_ROUTES_PATH}:/eip-client/routes"
- eip-home-odoo:/eip-home

mysql:
environment:
EIP_DB_NAME_ODOO: ${EIP_DB_NAME_ODOO}
EIP_DB_USER_ODOO: ${EIP_DB_USER_ODOO}
EIP_DB_PASSWORD_ODOO: ${EIP_DB_PASSWORD_ODOO}
volumes:
- "${SQL_SCRIPTS_PATH}/mysql/eip-odoo-openmrs:/docker-entrypoint-initdb.d/db/eip-odoo-openmrs"

volumes:
eip-home-odoo: ~
9 changes: 9 additions & 0 deletions docker-compose-eip-openmrs-senaite-sso.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
services:

eip-openmrs-senaite:
environment:
OAUTH_ACCESS_TOKEN_URL: ${OAUTH_ACCESS_TOKEN_URL}
OAUTH_ENABLED: ${ENABLE_SSO}
OAUTH_CLIENT_ID: ${OAUTH_CLIENT_ID}
OAUTH_CLIENT_SECRET: ${OAUTH_CLIENT_SECRET}
OAUTH_CLIENT_SCOPE: ${OAUTH_CLIENT_SCOPE}
57 changes: 57 additions & 0 deletions docker-compose-eip-openmrs-senaite.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
services:

# OpenMRS - SENAITE integration service
eip-openmrs-senaite:
depends_on:
env-substitution:
condition: service_completed_successfully
openmrs:
condition: service_healthy
mysql:
condition: service_started
senaite:
condition: service_started
environment:
- SENAITE_SERVER_URL=http://senaite:8080/senaite
- SENAITE_SERVER_USER=${SENAITE_ADMIN_USER}
- SENAITE_SERVER_PASSWORD=${SENAITE_ADMIN_PASSWORD}
- OPENMRS_SERVER_URL=http://openmrs:8080/openmrs
- OPENMRS_SERVER_USER=${OPENMRS_USER}
- OPENMRS_SERVER_PASSWORD=${OPENMRS_PASSWORD}
- OPENMRS_RESULTS_ENCOUNTER_TYPE_UUID=${RESULTS_ENCOUNTER_TYPE_UUID}
- EIP_PROFILE=prod
- EIP_DB_NAME_SENAITE=${EIP_DB_NAME_SENAITE}
- EIP_DB_USER_SENAITE=${EIP_DB_USER_SENAITE}
- EIP_DB_PASSWORD_SENAITE=${EIP_DB_PASSWORD_SENAITE}
- MYSQL_ADMIN_USER=root
- MYSQL_ADMIN_USER_PASSWORD=${MYSQL_ROOT_PASSWORD}
- OPENMRS_DB_HOST=${OPENMRS_DB_HOST}
- OPENMRS_DB_PORT=${OPENMRS_DB_PORT}
- OPENMRS_DB_NAME=${OPENMRS_DB_NAME}
- OPENMRS_DB_USER=${OPENMRS_DB_USER}
- OPENMRS_DB_PASSWORD=${OPENMRS_DB_PASSWORD}
- OPENMRS_USER=${OPENMRS_USER}
- OPENMRS_PASSWORD=${OPENMRS_PASSWORD}
- EIP_FHIR_RESOURCES=Patient,ServiceRequest
- EIP_FHIR_SERVER_URL=http://openmrs:8080/openmrs/ws/fhir2/R4
- EIP_FHIR_USERNAME=${OPENMRS_USER}
- EIP_FHIR_PASSWORD=${OPENMRS_PASSWORD}
- RUN_WITH_BAHMNI_EMR=${RUN_WITH_BAHMNI_EMR}
- EIP_TEST_ORDER_TYPE_UUID=${EIP_TEST_ORDER_TYPE_UUID}
image: mekomsolutions/eip-client
networks:
ozone:
aliases:
- eip-client-senaite
restart: unless-stopped
volumes:
- "${EIP_OPENMRS_SENAITE_ROUTES_PATH}:/eip-client/routes"
- eip-home-senaite:/eip-home

mysql:
environment:
EIP_DB_NAME_SENAITE: ${EIP_DB_NAME_SENAITE}
EIP_DB_USER_SENAITE: ${EIP_DB_USER_SENAITE}
EIP_DB_PASSWORD_SENAITE: ${EIP_DB_PASSWORD_SENAITE}
volumes:
- "${SQL_SCRIPTS_PATH}/mysql/eip-openmrs-senaite:/docker-entrypoint-initdb.d/db/eip-openmrs-senaite"
53 changes: 24 additions & 29 deletions docker-compose-keycloak.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,34 @@
services:

keycloak:
image: docker.io/bitnamilegacy/keycloak:22.0.5
image: quay.io/keycloak/keycloak:26.4.5
restart: unless-stopped
entrypoint: [ "/bin/bash", "-c" ]
command: >
"/opt/keycloak/bin/kc.sh build --health-enabled=true --metrics-enabled=true &&
/opt/keycloak/bin/kc.sh start --optimized --import-realm"
volumes:
- ${KEYCLOAK_CONFIG_PATH}/realms:/keycloak-files/realm-config
- ${KEYCLOAK_CONFIG_PATH}/themes/carbon:/opt/bitnami/keycloak/themes/carbon
- ${KEYCLOAK_CONFIG_PATH}/realms:/opt/keycloak/data/import
- ${KEYCLOAK_CONFIG_PATH}/themes/carbon:/opt/keycloak/themes/carbon
environment:
KC_HOSTNAME_URL: ${SERVER_SCHEME}://${KEYCLOAK_HOSTNAME}
KC_HOSTNAME_ADMIN_URL: ${SERVER_SCHEME}://${KEYCLOAK_HOSTNAME}
PROXY_ADDRESS_FORWARDING: "true"
KC_HTTP_ENABLED: 'true'
KC_HOSTNAME_STRICT_BACKCHANNEL: "true"
KC_PROXY: reencrypt
KC_HEALTH_ENABLED: 'true'
KC_METRICS_ENABLED: 'true'
KEYCLOAK_DATABASE_VENDOR: postgresql
KEYCLOAK_DATABASE_HOST: postgresql
KEYCLOAK_DATABASE_PORT_NUMBER: 5432
KEYCLOAK_DATABASE_NAME: ${KEYCLOAK_DB}
KEYCLOAK_DATABASE_USER: ${KEYCLOAK_DB_USER}
KEYCLOAK_DATABASE_PASSWORD: ${KEYCLOAK_DB_PASSWORD}
KEYCLOAK_DATABASE_SCHEMA: ${KEYCLOAK_DB_SCHEMA}
KEYCLOAK_CREATE_ADMIN_USER: "true"
KEYCLOAK_ADMIN_USER: ${KEYCLOAK_USER}
KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_PASSWORD}
KEYCLOAK_EXTRA_ARGS: "
-Dkeycloak.profile.feature.scripts=enabled
-Dkeycloak.migration.action=import
-Dkeycloak.migration.provider=dir
-Dkeycloak.migration.dir=/keycloak-files/realm-config
-Dkeycloak.migration.strategy=IGNORE_EXISTING
--log-console-output=json"
KC_HOSTNAME: ${SERVER_SCHEME}://${KEYCLOAK_HOSTNAME}
KC_HOSTNAME_ADMIN: ${SERVER_SCHEME}://${KEYCLOAK_HOSTNAME}
KC_HOSTNAME_STRICT: 'false'
KC_HOSTNAME_BACKCHANNEL_DYNAMIC: 'true'
KC_HEALTH_ENABLED: true
KC_METRICS_ENABLED: true
KC_HTTP_ENABLED: true
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://postgresql:5432/${KEYCLOAK_DB}
KC_DB_USERNAME: ${KEYCLOAK_DB_USER}
KC_DB_PASSWORD: ${KEYCLOAK_DB_PASSWORD}
KC_BOOTSTRAP_ADMIN_USERNAME: ${KEYCLOAK_USER}
KC_BOOTSTRAP_ADMIN_PASSWORD: ${KEYCLOAK_PASSWORD}
KC_DIR: /opt/keycloak/data/import
KC_OVERRIDE: 'false'
KC_LOG_CONSOLE_OUTPUT: json
healthcheck:
test: ["CMD", "curl", "-f", "http://0.0.0.0:8080/health/ready"]
test: ["CMD-SHELL", "{ printf 'HEAD /health/ready HTTP/1.0\\r\\n\\r\\n' >&0; grep 'HTTP/1.0 200'; } 0<>/dev/tcp/localhost/9000"]
interval: 15s
timeout: 3s
retries: 5
Expand Down
8 changes: 0 additions & 8 deletions docker-compose-odoo-sso.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,3 @@ services:
odoo:
environment:
- ADDONS=${ODOO_ADDONS},auth_oidc,auth_oauth_autologin

eip-odoo-openmrs:
environment:
OAUTH_ACCESS_TOKEN_URL: ${OAUTH_ACCESS_TOKEN_URL}
OAUTH_ENABLED: ${ENABLE_SSO}
OAUTH_CLIENT_ID: ${OAUTH_CLIENT_ID}
OAUTH_CLIENT_SECRET: ${OAUTH_CLIENT_SECRET}
OAUTH_CLIENT_SCOPE: ${OAUTH_CLIENT_SCOPE}
60 changes: 0 additions & 60 deletions docker-compose-odoo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,57 +60,6 @@ services:
- "${ODOO_CONFIG_FILE_PATH:-odoo-config}:/etc/properties/odoo.conf"
- "${ODOO_CONFIG_CHECKSUMS_PATH:-odoo-checksums}:/mnt/checksums"

# Odoo - OpenMRS integration service
eip-odoo-openmrs:
depends_on:
env-substitution:
condition: service_completed_successfully
openmrs:
condition: service_healthy
mysql:
condition: service_started
odoo:
condition: service_started
environment:
- EIP_DB_NAME_ODOO=${EIP_DB_NAME_ODOO}
- EIP_DB_USER_ODOO=${EIP_DB_USER_ODOO}
- EIP_DB_PASSWORD_ODOO=${EIP_DB_PASSWORD_ODOO}
- ODOO_DATABASE=${ODOO_DATABASE}
- ODOO_USER=${ODOO_USER}
- ODOO_PASSWORD=${ODOO_PASSWORD}
- ODOO_URL=http://odoo:8069
- OPENMRS_URL=http://openmrs:8080/openmrs
- EIP_PROFILE=prod
- MYSQL_ADMIN_USER=root
- MYSQL_ADMIN_USER_PASSWORD=${MYSQL_ROOT_PASSWORD}
- OPENMRS_DB_HOST=${OPENMRS_DB_HOST}
- OPENMRS_DB_PORT=${OPENMRS_DB_PORT}
- OPENMRS_DB_NAME=${OPENMRS_DB_NAME}
- OPENMRS_DB_USER=${OPENMRS_DB_USER}
- OPENMRS_DB_PASSWORD=${OPENMRS_DB_PASSWORD}
- OPENMRS_USER=${OPENMRS_USER}
- OPENMRS_PASSWORD=${OPENMRS_PASSWORD}
- EIP_FHIR_RESOURCES=Patient,ServiceRequest,MedicationRequest
- EIP_FHIR_SERVER_URL=http://openmrs:8080/openmrs/ws/fhir2/R4
- EIP_FHIR_USERNAME=${OPENMRS_USER}
- EIP_FHIR_PASSWORD=${OPENMRS_PASSWORD}
- EIP_TEST_ORDER_TYPE_UUID=${EIP_TEST_ORDER_TYPE_UUID}
- EIP_ODOO_FHIR_SERVER_URL=${EIP_ODOO_FHIR_SERVER_URL}
- EIP_ODOO_FHIR_USERNAME=${ODOO_USER}
- EIP_ODOO_FHIR_PASSWORD=${ODOO_PASSWORD}
- EIP_PRODUCT_SYNC_INITIAL_DELAY=${EIP_PRODUCT_SYNC_INITIAL_DELAY}
- EIP_PRODUCT_SYNC_DELAY=${EIP_PRODUCT_SYNC_DELAY}
image: mekomsolutions/eip-client
networks:
ozone:
aliases:
- eip-client-odoo
- eip-odoo-openmrs
restart: unless-stopped
volumes:
- "${EIP_ODOO_OPENMRS_ROUTES_PATH}:/eip-client/routes"
- eip-home-odoo:/eip-home

fhir-odoo:
depends_on:
env-substitution:
Expand Down Expand Up @@ -145,14 +94,6 @@ services:
volumes:
- "${SQL_SCRIPTS_PATH}/postgresql/odoo:/docker-entrypoint-initdb.d/db/odoo"

mysql:
environment:
EIP_DB_NAME_ODOO: ${EIP_DB_NAME_ODOO}
EIP_DB_USER_ODOO: ${EIP_DB_USER_ODOO}
EIP_DB_PASSWORD_ODOO: ${EIP_DB_PASSWORD_ODOO}
volumes:
- "${SQL_SCRIPTS_PATH}/mysql/eip-odoo-openmrs:/docker-entrypoint-initdb.d/db/eip-odoo-openmrs"

env-substitution:
environment:
- ODOO_PUBLIC_URL=${SERVER_SCHEME}://${ODOO_HOSTNAME}
Expand All @@ -161,7 +102,6 @@ services:
- EXTERNAL_FHIR_API_PASSWORD=${ODOO_PASSWORD}

volumes:
eip-home-odoo: ~
odoo-checksums: ~
odoo-config: ~
odoo-extra-addons: ~
Expand Down
Loading