-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
136 lines (125 loc) · 4.42 KB
/
docker-compose.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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
version: '3.6'
services:
keycloak:
container_name: rems_prod_keycloak
command: 'start-dev --import-realm'
ports:
- '8180:8080'
environment:
- KEYCLOAK_ADMIN=admin
- KEYCLOAK_ADMIN_PASSWORD=admin
- DB_VENDOR=h2
volumes:
- rems_prod_keycloak-data:/opt/keycloak/data/
image: codexrems/keycloak:1.2
# Create test-ehr container
test-ehr: # Name of our service
container_name: rems_prod_test-ehr
ports: # Port binding to host from docker container
- '8080:8080' # Bind port 3000 of host to 3000 of container
image: codexrems/test-ehr:1.2
environment:
- oauth_token=http://host.docker.internal:8180/realms/ClientFhirServer/protocol/openid-connect/token
extra_hosts:
- "host.docker.internal:host-gateway"
# Create crd request generator container
request-generator: # Name of our service
image: codexrems/request-generator:1.2
container_name: rems_prod_request-generator
environment:
- REACT_APP_EHR_SERVER_TO_BE_SENT_TO_REMS_ADMIN_FOR_PREFETCH=http://host.docker.internal:8080/test-ehr/r4
ports: # Port binding to host from docker container
- "3000:3000" # Bind port 3000 of host to 3000 of container
- "3001:3001"
extra_hosts:
- "host.docker.internal:host-gateway"
# Create rems-smart-on-fhir container
rems-smart-on-fhir:
image: codexrems/rems-smart-on-fhir:1.2
container_name: rems_prod_rems-smart-on-fhir
ports:
- "4040:4040"
# Create rems container
rems-administrator: # Name of our service
image: codexrems/rems-administrator:1.2
container_name: rems_prod_rems-administrator
ports: # Port binding to host from docker container
- "8090:8090"
- "9090:9090"
environment:
VSAC_API_KEY: ${VSAC_API_KEY}
MONGO_URL: mongodb://rems-user:pass@pims_remsadmin_mongo:27017
SERVER_NAME: 'CodeX REMS Administrator Prototype #1'
depends_on:
pims_remsadmin_mongo:
condition: service_healthy
rems-administrator2: # Name of our service
image: codexrems/rems-administrator:1.2
container_name: rems_prod_rems-administrator2
ports: # Port binding to host from docker container
- "8095:8095"
- "9095:9095"
environment:
VSAC_API_KEY: ${VSAC_API_KEY}
MONGO_DB_NAME: remsadmin2
MONGO_URL: mongodb://rems-user2:pass@pims_remsadmin_mongo:27017
SERVER_NAME: 'CodeX REMS Administrator Prototype #2'
PORT: 8095
FRONTEND_PORT: 9095
AUTH_SERVER_URI: 'http://localhost:8095'
RESOURCE_SERVER: 'http://localhost:8095'
depends_on:
pims_remsadmin_mongo:
condition: service_healthy
# Create pims admin container
pims_remsadmin_mongo:
image: mongo
container_name: rems_prod_pims-remsadmin-mongo
ports:
- '27017:27017'
environment:
MONGO_INITDB_ROOT_USERNAME: mongo-user
MONGO_INITDB_ROOT_PASSWORD: mongo-password
REMS_ADMIN_NCPDP: http://rems-administrator:8090/ncpdp/script
volumes:
- rems_prod_pims_remsadmin_mongo:/data/db
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
interval: 40s
timeout: 10s
retries: 10
start_period: 40s
# Create pims container
pims:
image: codexrems/pims:1.2
container_name: rems_prod_pims
environment:
REMS_ADMIN_FHIR_URL: http://rems-administrator:8090/4_0_0
MONGO_URL: mongodb://pims_remsadmin_mongo:27017/pims
EHR_RXFILL_URL: http://host.docker.internal:8080/test-ehr/ncpdp/script
INTERMEDIARY_FHIR_URL: http://rems-intermediary:3003/4_0_0
ports:
- "5050:5050"
- "5051:5051"
depends_on:
pims_remsadmin_mongo:
condition: service_healthy
# add in once intermediary once ci/cd pipeline task is completed and published images exist
rems-intermediary:
image: codexrems/rems-intermediary:1.2
container_name: rems_prod_rems-intermediary
environment:
VITE_AUTH: http://keycloak:8080
MONGO_URL: mongodb://intermediary-user:pass@pims_remsadmin_mongo:27017
REMS_ADMIN_HOOK_PATH: http://rems-administrator:8090/cds-services/rems-
REMS_ADMIN_FHIR_PATH: http://rems-administrator:8090/4_0_0
ports:
- "3003:3003"
- "9080:9080"
depends_on:
pims_remsadmin_mongo:
condition: service_healthy
volumes:
rems_prod_keycloak-data:
rems_prod_pims_remsadmin_mongo: