-
Notifications
You must be signed in to change notification settings - Fork 32
/
docker-compose-senaite.yml
104 lines (98 loc) · 3.73 KB
/
docker-compose-senaite.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
services:
# SENAITE
senaite:
depends_on:
env-substitution:
condition: service_completed_successfully
postgresql:
condition: service_healthy
environment:
- SITE=${SITE}
- PASSWORD=${SENAITE_ADMIN_PASSWORD}
- RELSTORAGE_ADAPTER_OPTIONS=type postgresql,dsn dbname='${SENAITE_DB_NAME}' user='${SENAITE_DB_USER}' password='${SENAITE_DB_PASSWORD}' host='${SENAITE_DB_HOST}', driver pg8000
- RELSTORAGE_KEEP_HISTORY=false
- RELSTORAGE_BLOB_DIR=/home/senaite/senaitelims/blobstorage
- ADMIN_USER=${SENAITE_ADMIN_USER}
- ADMIN_PASSWORD=${SENAITE_ADMIN_PASSWORD}
image: mekomsolutions/senaite:latest
labels:
- "traefik.enable=true"
- "traefik.http.services.senaite.loadbalancer.server.port=8080"
- "traefik.http.routers.senaite.rule=Host(`${SENAITE_HOSTNAME}`)"
- "traefik.http.routers.senaite.middlewares=senaite"
- "traefik.http.middlewares.senaite.addprefix.prefix=/VirtualHostBase/https/${SENAITE_HOSTNAME}/senaite/VirtualHostRoot"
networks:
ozone:
aliases:
- senaite
web:
restart: unless-stopped
volumes:
- ${SENAITE_CONFIG_PATH}:/data/importdata/senaite
- ${SENAITE_BLOBSTORAGE_PATH:-senaite-blobstorage}:/home/senaite/senaitelims/blobstorage
# 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}
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"
postgresql:
environment:
SENAITE_DB_NAME: ${SENAITE_DB_NAME}
SENAITE_DB_USER: ${SENAITE_DB_USER}
SENAITE_DB_PASSWORD: ${SENAITE_DB_PASSWORD}
volumes:
- "${SQL_SCRIPTS_PATH}/postgresql/senaite:/docker-entrypoint-initdb.d/db/senaite"
env-substitution:
environment:
- SENAITE_PUBLIC_URL=${SERVER_SCHEME}://${SENAITE_HOSTNAME}
volumes:
eip-home-senaite: ~
senaite-blobstorage: ~
senaite-filestorage: ~