Files
HaitiHealthBox/docker-compose.yml
2023-07-20 11:56:54 +02:00

209 lines
5.7 KiB
YAML

version: "3.8"
services:
openmrs-mysql:
restart: "always"
image: mysql:5.6
# platform: linux/x86_64
container_name: emr-mysql
command: "mysqld --character-set-server=utf8 --collation-server=utf8_general_ci"
ports:
- "3306:3306"
environment:
- MYSQL_DATABASE=openmrs
- MYSQL_ROOT_PASSWORD=Admin123
- MYSQL_USER=openmrs
- MYSQL_PASSWORD=Admin123
- MYSQL_ROOT_HOST=%
healthcheck:
test: "exit 0"
volumes:
- openmrs-referenceapplication-mysql-data:/var/lib/mysql
#- ./data:/var/lib/mysql
- ./volumes/openmrs/dbdump:/docker-entrypoint-initdb.d
openmrs-server:
restart: "always"
image: openmrs/openmrs-reference-application-distro:2.11.0
container_name: emr-server
depends_on:
- openmrs-mysql
# ports:
# - "8090:8080"
environment:
DB_DATABASE: ${MYSQL_DB:-openmrs}
DB_HOST: openmrs-mysql
DB_USERNAME: ${MYSQL_USER:-openmrs}
DB_PASSWORD: ${MYSQL_PASSWORD:-Admin123}
DB_CREATE_TABLES: 'false'
DB_AUTO_UPDATE: 'false'
MODULE_WEB_ADMIN: 'true'
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/openmrs/"]
timeout: 20s
volumes:
# - openmrs-referenceapplication-data:/usr/local/tomcat/.OpenMRS/
- ./volumes/openmrs/modules:/usr/local/tomcat/.OpenMRS/modules/ # do not store modules in data
- ./volumes/openmrs/owa:/usr/local/tomcat/.OpenMRS/owa/ # do not store owa in data
gateway:
image: openmrs/openmrs-reference-application-3-gateway:nightly
depends_on:
- openmrs3x-frontend
- openmrs-server
volumes:
- ./volumes/nginix/nginx.conf:/etc/nginx/nginx.conf
ports:
- "80:80"
openmrs3x-frontend:
image: openmrs/openmrs-reference-application-3-frontend:3.0.0-alpha.10
environment:
SPA_PATH: /openmrs/spa
API_URL: /openmrs
SPA_CONFIG_URLS: /openmrs/spa/config.json
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/"]
###
# OpenHIM
###
openhim-core:
container_name: openhim-core
hostname: openhim-core
image: jembi/openhim-core:v7.1.0
restart: unless-stopped
environment:
mongo_url: "mongodb://mongo-db/openhim"
mongo_atnaUrl: "mongodb://mongo-db/openhim"
NODE_ENV: "development"
ports:
- "8085:8080"
# - "5000:5000"
- "5001:5001"
depends_on:
- mongo-db
openhim-console:
container_name: openhim-console
hostname: openhim-console
image: jembi/openhim-console:v1.15.0
restart: unless-stopped
volumes:
- ./volumes/openhim/console.json:/usr/share/nginx/html/config/default.json
healthcheck:
test: "curl -sS http://openhim-console || exit 1"
interval: 10s
timeout: 60s
retries: 3
ports:
- 3000:80
# Loads Default OpenHIM Config
openhim-config:
container_name: openhim-config
image: ghcr.io/i-tech-uw/openhim-config:v0.0.0
volumes:
- ./volumes/openhim/initial-config.json:/app/test-openhim-config.json
mongo-db:
container_name: mongo-db
image: mongo:3.4
volumes:
- /data/db
restart: unless-stopped
####
# OpenELIS
####
certs:
container_name: oe-certs
image: ghcr.io/i-tech-uw/certgen:main
restart: always
environment:
- KEYSTORE_PW="kspass"
- TRUSTSTORE_PW="tspass"
volumes:
- cert-volume:/etc/openelis-global
oe-database:
container_name: openelisglobal-database
image: postgres:14.4
ports:
- "15432:5432"
restart: always
env_file:
- ./volumes/openelis/database/database.env
volumes:
# preserves the database between containers
- db-data:/var/lib/postgresql/data
# files here will run on install
- ./volumes/openelis/database/dbInit:/docker-entrypoint-initdb.d
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "clinlims", "-U", "clinlims"]
timeout: 45s
interval: 10s
retries: 10
oe.openelis.org:
container_name: openelisglobal-webapp
image: ghcr.io/i-tech-uw/openelis-global-2:2.7.3.2
depends_on:
- oe-database
ports:
- "8080:8080"
- "8443:8443"
restart: always
environment:
- TZ=Africa/Nairobi
# context.xml doesn't seem to be able to pick up environment variables directly, so we are passing them in as CATALINA_OPTS
- CATALINA_OPTS= -Ddatasource.url=jdbc:postgresql://oe-database:5432/clinlims -Ddatasource.username=clinlims -Ddatasource.password=clinlims
volumes:
- cert-volume:/etc/openelis-global
# - openelis-plugins-data:/var/lib/openelis-global/plugins
- ./volumes/openelis/tomcat/oe_server.xml:/usr/local/tomcat/conf/server.xml
secrets:
- source: datasource.password
- source: common.properties
fhir.openelis.org:
container_name: external-fhir-api
image: hapiproject/hapi:v5.5.1
# ports:
# - "8081:8080"
restart: always
environment:
- hapi.fhir.auto_create_placeholder_reference_targets=true
- hapi.fhir.allow_placeholder_references=true
- hapi.fhir.allow_external_references=true
fhir.openelis.org.remote:
container_name: openelis-remote-source
image: hapiproject/hapi:v5.5.1
# ports:
# - "8081:8080"
restart: always
environment:
- hapi.fhir.auto_create_placeholder_reference_targets=true
- hapi.fhir.allow_placeholder_references=true
- hapi.fhir.allow_external_references=true
secrets:
datasource.password:
file: ./volumes/openelis/properties/datasource.password
common.properties:
file: ./volumes/openelis/properties/common.properties
volumes:
db-data:
cert-volume:
openmrs-referenceapplication-mysql-data:
openmrs-referenceapplication-data: