11version : " 3.9"
22services :
3+
4+ nginx-proxy :
5+ image : nginxproxy/nginx-proxy:1.6.0-alpine
6+ container_name : proxy
7+ restart : always
8+ ports :
9+ - " 80:80"
10+ volumes :
11+ - /var/run/docker.sock:/tmp/docker.sock:ro
12+ environment :
13+ DEFAULT_HOST : keycloak.basyx.localhost
14+ networks :
15+ - basyx-java-server-sdk
16+
317 mongo :
418 image : mongo:5.0.10
519 # Provide mongo config
@@ -96,6 +110,8 @@ services:
96110 secured-aas-registry-log-mem :
97111 image : eclipsebasyx/aas-registry-log-mem:$BASYX_VERSION
98112 container_name : secured-aas-registry-log-mem
113+ extra_hosts :
114+ - " keycloak.basyx.localhost:host-gateway"
99115 ports :
100116 - " 8051:8080"
101117 environment :
@@ -105,7 +121,7 @@ services:
105121 BASYX_FEATURE_AUTHORIZATION_ENABLED : true
106122 BASYX_FEATURE_AUTHORIZATION_TYPE : rbac
107123 BASYX_FEATURE_AUTHORIZATION_JWTBEARERTOKENPROVIDER : keycloak
108- SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI : http://keycloak-fixed:8080 /realms/BaSyx
124+ SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI : http://keycloak.basyx.localhost /realms/BaSyx
109125 BASYX_FEATURE_AUTHORIZATION_RBAC_FILE : file:/rbac/rbac_rules.json
110126 volumes :
111127 - ./keycloak/rules/rbac_rules-aas-registry.json:/rbac/rbac_rules.json:ro
@@ -116,14 +132,16 @@ services:
116132 secured-sm-registry-log-mem :
117133 image : eclipsebasyx/submodel-registry-log-mem:$BASYX_VERSION
118134 container_name : secured-sm-registry-log-mem
135+ extra_hosts :
136+ - " keycloak.basyx.localhost:host-gateway"
119137 environment :
120138 SERVER_SERVLET_CONTEXT_PATH : /
121139 BASYX_CORS_ALLOWED_ORIGINS : ' *'
122140 BASYX_CORS_ALLOWED_METHODS : GET,POST,PATCH,DELETE,PUT,OPTIONS,HEAD
123141 BASYX_FEATURE_AUTHORIZATION_ENABLED : true
124142 BASYX_FEATURE_AUTHORIZATION_TYPE : rbac
125143 BASYX_FEATURE_AUTHORIZATION_JWTBEARERTOKENPROVIDER : keycloak
126- SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI : http://keycloak-fixed :8080/realms/BaSyx
144+ SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI : http://keycloak.basyx.localhost :8080/realms/BaSyx
127145 BASYX_FEATURE_AUTHORIZATION_RBAC_FILE : file:/rbac/rbac_rules.json
128146 volumes :
129147 - ./keycloak/rules/rbac_rules-sm-registry.json:/rbac/rbac_rules.json:ro
@@ -158,6 +176,62 @@ services:
158176 networks :
159177 - basyx-java-server-sdk
160178
179+ keycloak-localhost :
180+ image : keycloak/keycloak:24.0.4
181+ container_name : keycloak-localhost
182+ environment :
183+ KC_HOSTNAME : localhost
184+ KEYCLOAK_ADMIN : admin
185+ KEYCLOAK_ADMIN_PASSWORD : keycloak-admin
186+ KC_HTTP_ENABLED : " true"
187+ KC_HTTPS_ENABLED : " false"
188+ KC_HEALTH_ENABLED : " true"
189+ KC_IMPORT : /opt/keycloak/data/import/
190+ command : ["start-dev", "--import-realm"]
191+ volumes :
192+ - ./keycloak/realm:/opt/keycloak/data/import
193+ ports :
194+ - 9098:8080
195+ networks :
196+ - basyx-java-server-sdk
197+
198+
199+ keycloak-nginx :
200+ image : keycloak/keycloak:24.0.4
201+ container_name : keycloak-nginx
202+ environment :
203+ VIRTUAL_HOST : keycloak.basyx.localhost
204+ VIRTUAL_PORT : " 8080"
205+ KC_HOSTNAME : keycloak.basyx.localhost
206+ KEYCLOAK_ADMIN : admin
207+ KEYCLOAK_ADMIN_PASSWORD : keycloak-admin
208+ KC_HTTP_ENABLED : " true"
209+ KC_HTTPS_ENABLED : " false"
210+ KC_HEALTH_ENABLED : " true"
211+ KC_IMPORT : /opt/keycloak/data/import/
212+ command : ["start-dev", "--import-realm"]
213+ volumes :
214+ - ./keycloak/realm:/opt/keycloak/data/import
215+ ports :
216+ - 9099:8080
217+ networks :
218+ - basyx-java-server-sdk
219+
220+ keycloak-healthcheck :
221+ image : curlimages/curl:latest
222+ container_name : keycloak-healthcheck
223+ command : >
224+ sh -c "
225+ echo 'Waiting for Keycloak to become ready...';
226+ until curl -sf http://keycloak-nginx:8080/health/ready; do
227+ sleep 5;
228+ done;
229+ echo 'Keycloak is ready!'"
230+ depends_on :
231+ - keycloak
232+ networks :
233+ - basyx-java-server-sdk
234+
161235 # keycloak-fixed-uri:
162236 # image: eclipsebasyx/keycloak:0.0.1
163237 # build:
0 commit comments