forked from medigree/fhir-itb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
145 lines (143 loc) · 6.31 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
135
136
137
138
139
140
141
142
143
144
145
version: '3.9'
# These volumes record all persistent data for the Test Bed instance.
volumes:
gitb-repo:
gitb-dbdata:
services:
#
# Test Bed core components - START.
#
gitb-redis:
# Internal component used to store users' UI sessions.
image: redis:7.0.14
restart: unless-stopped
gitb-mysql:
# The Test Bed's DB.
image: isaitb/gitb-mysql:latest
restart: unless-stopped
volumes:
- gitb-dbdata:/var/lib/mysql
# We use a healthcheck to make sure the DB is up and running before we try to connect to it (this could
# take a few seconds after the container is up and running).
healthcheck:
test: "/usr/bin/mysql --user=root --password=$$MYSQL_ROOT_PASSWORD --execute \"SHOW DATABASES;\""
interval: 3s
retries: 10
gitb-srv:
# The test engine that executes the test sessions.
# Note that this (and the gitb-ui container) point to the "nightly" tag which receives updates based on our
# development branch. In production this would be "latest" or a fixed release tag.
image: isaitb/gitb-srv:nightly
restart: unless-stopped
environment:
# This is used to define how external services (the fhir-test-services component) will make callbacks on the
# test engine. The address here must be what the fhir-test-services component should use for the calls.
# If you deploy the fhir-test-services outside the docker-compose service you would need to adapt this. For
# example you would add a port mapping for port 8080 (this is currently not mapped to the host) and then
# refer to an address such as "localhost".
- gitb.messaging.callbackURL=http://gitb-srv:8080/itbsrv/MessagingClient
gitb-ui:
# The Test Bed's UI.
image: isaitb/gitb-ui:nightly
restart: unless-stopped
# This is the only Test Bed component for which we currently add a host port mapping. If port 9000 on your
# host is taken just replace "9000:9000" with say "9001:9000".
ports:
- "9001:9000"
environment:
# This is the key to decrypt the initialisation data archive (see below).
- DATA_ARCHIVE_KEY=fhir
# Flag to enable the Test Bed's REST API. This can be very useful for efficient test case development.
- AUTOMATION_API_ENABLED=true
# Activate the generic GITB theme.
- THEME=fhir
volumes:
- gitb-repo:/gitb-repository
# This points to the folder from which the initialisation data archive specific to the PoC will be loaded from.
- ./config/data/:/gitb-repository/data/in/:rw
depends_on:
gitb-redis:
condition: service_started
gitb-mysql:
condition: service_healthy
gitb-srv:
condition: service_started
#
# Test Bed core components - END.
#
fhir-test-services:
# The fhir-test-services component are the extension services supporting our test cases. Note how we have a "build" definition
# here as we will build the component from the sources provided in directory "./fhir-test-services".
# For the endpoints exposed by this service check thge project's README.
build:
context: ./fhir-test-services
restart: unless-stopped
ports:
- "9002:8181"
fhir-server:
# This is the internal FHIR server that is used by the Test Bed to validate FHIR client test cases. It has no host port mappings
# as this is only expected to be used by the test engine directly.
image: costateixeira/hapistarter:2.0.0
restart: unless-stopped
environment:
- ig_url=https://ehealth.fgov.be/standards/fhir/allergy/
- ig_code=allergy
- ig_package_name=hl7.fhir.be.allergy
- ig_version=1.2.0
- fhir_version=R4
- server_port=8080
- static_server_port=8080
- server_name=AllergyTB
- hapi.fhir.allow_multiple_delete=true
- hapi.fhir.server_address=localhost:8080
- hapi.fhir.reuse_cached_search_results_millis=-1
- hapi.fhir.cors.allow_Credentials=true
- hapi.fhir.cors.allowed_origin_patterns="http:localhost:*"
- hapi.fhir.implementationguides.fhir_r4_core.name=hl7.fhir.r4.core
- hapi.fhir.implementationguides.fhir_r4_core.version=4.0.1
- hapi.fhir.implementationguides.fhir_r4_core.url=http://hl7.org/fhir/R4/hl7.fhir.r4.core.tgz
- hapi.fhir.implementationguides.currentig.name=hl7.fhir.be.allergy
- hapi.fhir.implementationguides.currentig.version=1.2.0
- hapi.fhir.implementationguides.currentig.url=https://ehealth.fgov.be/standards/fhir/allergy/
- hapi.fhir.ig_runtime_upload_enabled=true
- hapi.fhir.custom_content_path=/custom
- hapi.fhir.app_content_path=/apps
volumes:
- ./config/fhir/custom:/custom
- ./config/fhir/apps:/apps
fhir-server-sut:
# This is a second FHIR server that is used as part of the PoC to serve as a system under test (SUT) for the test
# cases verifying FHIR servers.
#
# Outside the scope of the PoC this service can be deleted, to be replaced with actual external FHIR server instances
# (the ones that are being tested).
image: costateixeira/hapistarter:2.0.0
restart: unless-stopped
environment:
- ig_url=https://ehealth.fgov.be/standards/fhir/allergy/
- ig_code=allergy
- ig_package_name=hl7.fhir.be.allergy
- ig_version=1.2.0
- fhir_version=R4
- server_port=8080
- static_server_port=9003
- server_name=AllergyTB
- hapi.fhir.allow_multiple_delete=true
- hapi.fhir.server_address=localhost:8080
- hapi.fhir.reuse_cached_search_results_millis=-1
- hapi.fhir.cors.allow_Credentials=true
- hapi.fhir.cors.allowed_origin_patterns="http:localhost:*"
- hapi.fhir.implementationguides.fhir_r4_core.name=hl7.fhir.r4.core
- hapi.fhir.implementationguides.fhir_r4_core.version=4.0.1
- hapi.fhir.implementationguides.fhir_r4_core.url=http://hl7.org/fhir/R4/hl7.fhir.r4.core.tgz
- hapi.fhir.implementationguides.currentig.name=hl7.fhir.be.allergy
- hapi.fhir.implementationguides.currentig.version=1.2.0
- hapi.fhir.implementationguides.currentig.url=https://ehealth.fgov.be/standards/fhir/allergy/
- hapi.fhir.ig_runtime_upload_enabled=true
- hapi.fhir.custom_content_path=/custom
- hapi.fhir.app_content_path=/apps
volumes:
- ./config/fhir/custom:/custom
- ./config/fhir/apps:/apps
ports:
- 9003:8080