forked from hapifhir/hapi-fhir-jpaserver-starter
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
107 lines (104 loc) · 3.74 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
services:
hapi-fhir-jpaserver-start:
build: .
container_name: hapi-fhir-jpaserver-start
restart: on-failure
environment:
fhir_version: 'R4'
SPRING_DATASOURCE_USERNAME: "admin"
SPRING_DATASOURCE_PASSWORD: "admin"
SPRING_CONFIG_LOCATION: "classpath:/application-custom.yaml"
# Enable these for MySQL
# SPRING_DATASOURCE_URL: "jdbc:mysql://hapi-fhir-mysql:3306/hapi"
# SPRING_DATASOURCE_DRIVERCLASSNAME: com.mysql.jdbc.Driver
# SPRING_JPA_PROPERTIES_HIBERNATE_DIALECT: "org.hibernate.dialect.HapiFhirMySQLDialect"
# Enable these for PostgreSQL
SPRING_DATASOURCE_URL: "jdbc:postgresql://hapi-fhir-postgres:5432/hapi"
SPRING_DATASOURCE_DRIVERCLASSNAME: "org.postgresql.Driver"
SPRING_JPA_PROPERTIES_HIBERNATE_DIALECT: "ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgresDialect"
OAUTH_ENABLED: true
OAUTH_CLIENT_ID: fhir4-api
OAUTH_USER_ROLE: fhir4-user
OAUTH_ADMIN_ROLE: fhir4-admin
OAUTH_JWKS_URL: http://keycloak:8085/auth/realms/product/protocol/openid-connect/certs
OAUTH_AUTHORIZE_URL: http://keycloak:8085/auth/realms/product/protocol/openid-connect/auth
OAUTH_TOKEN_URL: http://keycloak:8085/auth/realms/product/protocol/openid-connect/token
OAUTH_MANAGE_URL: http://keycloak:8085/auth/realms/product/account
SMART_ISSUER: http://keycloak:8085/auth/realms/product
SMART_JWKS_URL: http://keycloak:8085/auth/realms/product/protocol/openid-connect/certs
SMART_AUTHORIZATION_URL: http://keycloak:8085/auth/realms/product/protocol/openid-connect/auth
SMART_TOKEN_URL: http://keycloak:8085/auth/realms/product/protocol/openid-connect/token
SMART_INTROSPECTION_URL: http://keycloak:8085/auth/realms/product/protocol/openid-connect/token/introspect
SMART_REVOCATION_URL: http://keycloak:8085/auth/realms/product/protocol/openid-connect/revoke
SMART_MANAGE_URL: http://keycloak:8085/auth/realms/product/account
ports:
- "8080:8080"
# hapi-fhir-mysql:
# platform: linux/x86_64
# image: mysql:5.7
# container_name: hapi-fhir-mysql
# restart: always
# environment:
# MYSQL_DATABASE: "hapi"
# MYSQL_USER: "admin"
# MYSQL_PASSWORD: "admin"
# MYSQL_ROOT_PASSWORD: "admin"
# ports:
# - '3306:3306'
# volumes:
# - hapi-fhir-mysql:/var/lib/mysql
hapi-fhir-keycloak:
image: quay.io/keycloak/keycloak:22.0.5
container_name: keycloak
restart: on-failure
ports:
- '8085:8085'
command:
- "start-dev"
environment:
KC_ADMIN: 'admin'
KC_ADMIN_PASSWORD: 'admin'
KC_DB: 'postgres'
KC_DB_URL_HOST: 'keycloak-postgres'
KC_DB_USERNAME: 'admin'
KC_DB_PASSWORD: 'admin'
KC_HEALTH_ENABLED: 'true'
KC_HOSTNAME: 'keycloak:8085'
KC_HOSTNAME_STRICT: 'false'
KC_HTTP_RELATIVE_PATH: '/auth'
KC_HTTP_ENABLED: 'true'
KC_LOG_LEVEL: 'INFO'
KC_METRICS_ENABLED: 'true'
KC_PROXY: 'edge'
PROXY_ADDRESS_FORWARDING: 'true'
depends_on:
- keycloak-postgres
hapi-fhir-postgres:
image: postgres:15-alpine
container_name: hapi-fhir-postgres
restart: always
ports:
- "5434:5432"
environment:
POSTGRES_DB: "hapi"
POSTGRES_USER: "admin"
POSTGRES_PASSWORD: "admin"
volumes:
- hapi-fhir-postgres:/var/lib/postgresql/data
keycloak-postgres:
image: postgres:15
container_name: keycloak-postgres
restart: always
ports:
- "5435:5432"
environment:
POSTGRES_DB: 'keycloak'
POSTGRES_USER: 'admin'
POSTGRES_PASSWORD: 'admin'
POSTGRES_ROOT_PASSWORD: 'admin'
volumes:
- keycloak-postgres:/var/lib/postgresql/data
volumes:
# hapi-fhir-mysql:
hapi-fhir-postgres:
keycloak-postgres: