mirror of
https://github.com/DIGI-UW/HaitiHealthBox.git
synced 2026-10-26 17:35:21 +00:00
228 lines
6.1 KiB
YAML
228 lines
6.1 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
###
|
|
# reverse proxy
|
|
###
|
|
nginx:
|
|
image: nginx:latest
|
|
container_name: nginx
|
|
restart: always
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
volumes:
|
|
- certs-vol:/etc/nginx/certs/
|
|
- keys-vol:/etc/nginx/keys/
|
|
- ./volume/nginix/nginx.conf:/etc/nginx/conf.d/default.conf
|
|
depends_on:
|
|
- certs
|
|
|
|
|
|
##
|
|
#iSantePlus Server
|
|
##
|
|
isanteplus:
|
|
container_name: isanteplus
|
|
hostname: isanteplus
|
|
image: ghcr.io/isanteplus/docker-isanteplus-server:v2.3.7
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./isanteplus.env
|
|
volumes:
|
|
- /openmrs/data
|
|
- ./volume/isanteplus/custom_modules:/custom_modules
|
|
# ports:
|
|
# - 8081:8080
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
|
|
|
|
|
|
isanteplus-mysql:
|
|
image: ghcr.io/isanteplus/docker-isanteplus-db:v2.2.1
|
|
command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci --sql_mode=""
|
|
restart: unless-stopped
|
|
container_name: isanteplus-mysql
|
|
hostname: isanteplus-mysql
|
|
healthcheck:
|
|
test: "exit 0"
|
|
environment:
|
|
- MYSQL_DATABASE=openmrs
|
|
- MYSQL_ROOT_PASSWORD=debezium
|
|
- MYSQL_USER=mysqluser
|
|
- MYSQL_PASSWORD=mysqlpw
|
|
- MYSQL_ROOT_HOST=% # Allow docker containers to connect to mysql
|
|
volumes:
|
|
# - ./mysql.cnf:/etc/mysql/conf.d/custom.cnf # mysql config preconfigured to allow binlog/debezium
|
|
- /var/lib/mysql
|
|
|
|
|
|
# streaming-pipeline:
|
|
# image: ghcr.io/i-tech-uw/openmrs-fhir-analytics/streaming-binlog:latest
|
|
# container_name: streaming-pipeline
|
|
# healthcheck:
|
|
# test: "exit 0"
|
|
# volumes:
|
|
# - ./configs/streaming-pipeline/config.json:/deployments/config.json
|
|
# # data is the directory which you want to persist the generated parquet files
|
|
# # - ./configs/streaming-pipeline/parquet:/tmp
|
|
# environment:
|
|
# - OPENMRS_URL=http://isanteplus:8080/openmrs
|
|
# - OPENMRS_USERNAME=admin
|
|
# - OPENMRS_PASSWORD=${IPLUS_ADMIN_PW-Admin123}
|
|
# - SINK_URL=https://openhim-ssl.sedish-haiti.org/SHR/fhir
|
|
# - SINK_USERNAME=${OPENHIM_STREAMING_CLIENT-streaming}
|
|
# - SINK_PASSWORD=${OPENHIM_STREAMING_PW-streaming}
|
|
# - JDBC_FETCH_SIZE=10000
|
|
# - JDBC_MAX_POOL_SIZE=50
|
|
# - JDBC_INITIAL_POOL_SIZE=10
|
|
# - JDBC_DRIVER_CLASS=com.mysql.cj.jdbc.Driver
|
|
# # the 2 variable below should be same as volume mappings above
|
|
# - PARQUET_PATH=
|
|
# - FHIR_DEBEZIUM_CONFIG_PATH=/deployments/config.json
|
|
###
|
|
# 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:
|
|
# - 5000
|
|
# - 5001
|
|
- 8080:8080
|
|
|
|
|
|
openhim-console:
|
|
container_name: openhim-console
|
|
hostname: openhim-console
|
|
image: jembi/openhim-console:v1.15.0
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./volume/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:
|
|
- ./volume/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
|
|
- keys-vol:/etc/ssl/private/
|
|
- certs-vol:/etc/ssl/certs/
|
|
|
|
|
|
database:
|
|
container_name: openelisglobal-database
|
|
image: postgres:9.5
|
|
# ports:
|
|
# - "15432:5432"
|
|
restart: always
|
|
env_file:
|
|
- ./volume/database/database.env
|
|
volumes:
|
|
# preserves the database between containers
|
|
- db-data:/var/lib/postgresql/data
|
|
# files here will run on install
|
|
- ./volume/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:
|
|
- database
|
|
# ports:
|
|
# - "8095: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://database:5432/clinlims -Ddatasource.username=clinlims -Ddatasource.password=clinlims
|
|
volumes:
|
|
- cert-volume:/etc/openelis-global
|
|
# - openelis-plugins-data:/var/lib/openelis-global/plugins
|
|
- ./volume/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: ./volume/properties/datasource.password
|
|
common.properties:
|
|
file: ./volume/properties/common.properties
|
|
|
|
volumes:
|
|
db-data:
|
|
cert-volume:
|
|
certs-vol:
|
|
keys-vol:
|