docker-compose.yml 4.97 KB
Newer Older
Christian Gulden's avatar
Christian Gulden committed
1
2
3
4
version: "3.7"

services:
  fhir-gateway:
Christian Gulden's avatar
Christian Gulden committed
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    image: docker.miracum.org/miracum-etl/fhir-gateway:v3.2.2
    restart: on-failure
    environment:
      SPRING_DATASOURCE_URL: ${SPRING_DATASOURCE_URL:-jdbc:postgresql://fhir-db:5432/fhir}
      SPRING_DATASOURCE_USERNAME: ${SPRING_DATASOURCE_USERNAME:-postgres}
      SPRING_DATASOURCE_PASSWORD: ${SPRING_DATASOURCE_PASSWORD:-postgres}
      SERVICES_PSEUDONYMIZER_ENABLED: ${SERVICES_PSEUDONYMIZER_ENABLED:-true}
      SERVICES_PSEUDONYMIZER_URL: ${SERVICES_PSEUDONYMIZER_URL:-http://fhir-pseudonymizer:8080/fhir}
      SERVICES_LOINC_CONVERSIONS_URL: ${SERVICES_LOINC_CONVERSIONS_URL:-http://loinc-converter:8080/api/v1}
      SERVICES_FHIRSERVER_URL: ${SERVICES_FHIRSERVER_URL:-http://fhir-server:8080/fhir}
      SERVICES_FHIRSERVER_ENABLED: ${SERVICES_FHIRSERVER_ENABLED:-false}
      SERVICES_PSQL_ENABLED: ${SERVICES_PSQL_ENABLED:-true}
      SERVICES_KAFKA_ENABLED: ${SERVICES_KAFKA_ENABLED:-false}
      BOOTSTRAP_SERVERS: ${BOOTSTRAP_SERVERS:-kafka1:19092}
      OPENTRACING_JAEGER_ENABLED: ${OPENTRACING_JAEGER_ENABLED:-true}
      OPENTRACING_JAEGER_UDP_SENDER_HOST: ${OPENTRACING_JAEGER_UDP_SENDER_HOST:-jaeger}
21
      JAEGER_SERVICE_NAME: fhir-gateway
Christian Gulden's avatar
Christian Gulden committed
22
    ports:
23
      - ${PORT_FHIR_GATEWAY:-18080}:8080
Christian Gulden's avatar
Christian Gulden committed
24
25
    depends_on:
      - loinc-converter
Christian Gulden's avatar
Christian Gulden committed
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
      - fhir-db
      - jaeger
      - fhir-pseudonymizer

  jaeger:
    image: jaegertracing/all-in-one:1.19
    ports:
      - 16686:16686
      - 6831:6831/udp

  fhir-pseudonymizer:
    image: docker.miracum.org/miracum-etl/fhir-pseudonymizer:v1.2.2
    environment:
      JAEGER__HOST: jaeger
      JAEGER__PORT: 6831
      GPAS__URL: ${GPAS_URL:-http://gpas:8080/gpas/gpasService}
    volumes:
      - ./anonymization.yaml:/etc/anonymization.yaml:ro
    depends_on:
      - jaeger
Christian Gulden's avatar
Christian Gulden committed
46
47
      - gpas

Christian Gulden's avatar
Christian Gulden committed
48
49
50
51
52
53
54
55
56
  loinc-converter:
    image: docker.miracum.org/miracum-etl/loinc-conversion:v1.9.2
    environment:
      JAEGER_AGENT_HOST: jaeger
    depends_on:
      - jaeger

  fhir-db:
    image: postgres:12.4
57
    restart: unless-stopped
Christian Gulden's avatar
Christian Gulden committed
58
    environment:
59
      POSTGRES_USER: ${FHIR_GATEWAY_DB_USER:-postgres}
Christian Gulden's avatar
Christian Gulden committed
60
      POSTGRES_DB: ${FHIR_GATEWAY_DB_DATABASE:-fhir}
61
      POSTGRES_PASSWORD: ${FHIR_GATEWAY_DB_PASSWORD:-postgres}
Christian Gulden's avatar
Christian Gulden committed
62
63
    ports:
      - ${PORT_FHIR_GATEWAY_DB:-15432}:5432
64
65
    volumes:
      - fhir-gateway-data:/var/lib/postgresql/data:rw
Christian Gulden's avatar
Christian Gulden committed
66
67
68

  gpas:
    image: tmfev/gpas:1.9.1
69
    restart: unless-stopped
Christian Gulden's avatar
Christian Gulden committed
70
    environment:
Christian Gulden's avatar
Christian Gulden committed
71
72
73
74
75
76
77
      JAVA_OPTS: >-
        -Xms512m
        -Xmx1G
        -XX:MetaspaceSize=96M
        -XX:MaxMetaspaceSize=256m
        -Djava.net.preferIPv4Stack=true
        -Djava.awt.headless=true
Christian Gulden's avatar
Christian Gulden committed
78
    ports:
79
      - ${PORT_GPAS:-18081}:8080
Christian Gulden's avatar
Christian Gulden committed
80

Christian Gulden's avatar
Christian Gulden committed
81
82
  gpasinit-patient:
    image: curlimages/curl:7.72.0
Christian Gulden's avatar
Christian Gulden committed
83
84
85
86
    command: |
      -X POST
      -H 'Content-Type:application/xml'
      -d '<?xml version="1.0" encoding="UTF-8"?>
Christian Gulden's avatar
Christian Gulden committed
87
88
          <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:psn="http://psn.ttp.ganimed.icmvc.emau.org/">
            <soapenv:Header/>
Christian Gulden's avatar
Christian Gulden committed
89
90
91
              <soapenv:Body>
                <psn:addDomain>
                  <domainDTO>
Christian Gulden's avatar
Christian Gulden committed
92
                    <name>PATIENT</name>
Christian Gulden's avatar
Christian Gulden committed
93
94
                    <checkDigitClass>org.emau.icmvc.ganimed.ttp.psn.generator.ReedSolomonLagrange</checkDigitClass>
                    <alphabet>org.emau.icmvc.ganimed.ttp.psn.alphabets.Symbol31</alphabet>
Christian Gulden's avatar
Christian Gulden committed
95
96
                    <properties>PSN_LENGTH=31;PSN_PREFIX=p;INCLUDE_PREFIX_IN_CHECK_DIGIT_CALCULATION=false;PSNS_DELETABLE=true;MAX_DETECTED_ERRORS=2;</properties>
                    <comment>PATIENT Domain</comment>
Christian Gulden's avatar
Christian Gulden committed
97
98
                  </domainDTO>
                </psn:addDomain>
Christian Gulden's avatar
Christian Gulden committed
99
100
            </soapenv:Body>
          </soapenv:Envelope>'
Christian Gulden's avatar
Christian Gulden committed
101
102
      --retry-connrefuse
      --connect-timeout 10
Christian Gulden's avatar
Christian Gulden committed
103
104
      --max-time 120
      --retry 10
Christian Gulden's avatar
Christian Gulden committed
105
106
107
108
109
      --retry-delay 10
      http://gpas:8080/gpas/DomainService
    depends_on:
      - gpas

Christian Gulden's avatar
Christian Gulden committed
110
111
  gpasinit-fall:
    image: curlimages/curl:7.72.0
Christian Gulden's avatar
Christian Gulden committed
112
113
114
115
    command: |
      -X POST
      -H 'Content-Type:application/xml'
      -d '<?xml version="1.0" encoding="UTF-8"?>
Christian Gulden's avatar
Christian Gulden committed
116
117
          <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:psn="http://psn.ttp.ganimed.icmvc.emau.org/">
            <soapenv:Header/>
Christian Gulden's avatar
Christian Gulden committed
118
119
120
              <soapenv:Body>
                <psn:addDomain>
                  <domainDTO>
Christian Gulden's avatar
Christian Gulden committed
121
                    <name>FALL</name>
Christian Gulden's avatar
Christian Gulden committed
122
123
                    <checkDigitClass>org.emau.icmvc.ganimed.ttp.psn.generator.ReedSolomonLagrange</checkDigitClass>
                    <alphabet>org.emau.icmvc.ganimed.ttp.psn.alphabets.Symbol31</alphabet>
Christian Gulden's avatar
Christian Gulden committed
124
125
                    <properties>PSN_LENGTH=31;PSN_PREFIX=f;INCLUDE_PREFIX_IN_CHECK_DIGIT_CALCULATION=false;PSNS_DELETABLE=true;MAX_DETECTED_ERRORS=2;</properties>
                    <comment>FALL Domain</comment>
Christian Gulden's avatar
Christian Gulden committed
126
127
                  </domainDTO>
                </psn:addDomain>
Christian Gulden's avatar
Christian Gulden committed
128
129
            </soapenv:Body>
          </soapenv:Envelope>'
Christian Gulden's avatar
Christian Gulden committed
130
131
      --retry-connrefuse
      --connect-timeout 10
Christian Gulden's avatar
Christian Gulden committed
132
133
      --max-time 120
      --retry 10
Christian Gulden's avatar
Christian Gulden committed
134
135
136
137
138
139
140
      --retry-delay 10
      http://gpas:8080/gpas/DomainService
    depends_on:
      - gpas

volumes:
  fhir-gateway-data: {}