@@ -11,39 +11,52 @@ secrets:
1111
1212services :
1313 keycloak :
14- image : quay.io/ keycloak/keycloak:15.1.1
14+ image : keycloak-quarkus:e2e
1515 container_name : keycloak
16- hostname : keycloak
16+ build :
17+ context : local/keycloak
18+ dockerfile : Dockerfile
19+ args :
20+ - KC_VERSION=${KC_VERSION:-26.5.3}
1721 depends_on :
1822 kong-db :
1923 condition : service_healthy
24+ environment :
25+ KC_BOOTSTRAP_ADMIN_USERNAME : admin
26+ KC_BOOTSTRAP_ADMIN_PASSWORD : local
27+ # Keycloak 26 Hostname v2: --hostname accepts full URL (host + port + path).
2028 command :
2129 [
22- ' -b' ,
23- ' 0.0.0.0' ,
24- ' -Djboss.socket.binding.port-offset=1001' ,
25- ' -Dkeycloak.migration.action=import' ,
26- ' -Dkeycloak.migration.provider=singleFile' ,
27- ' -Dkeycloak.migration.file=/tmp/realm-config/master-realm.json' ,
28- ' -Dkeycloak.migration.strategy=OVERWRITE_EXISTING' ,
29- ' -Dkeycloak.profile.feature.upload_scripts=enabled' ,
30+ " start" ,
31+ " --optimized" ,
32+ " --hostname" ,
33+ " http://keycloak.localtest.me:9081/auth" ,
34+ " --db-url" ,
35+ " jdbc:postgresql://kong-db/${KEYCLOAK_DB_NAME:-keycloak}" ,
36+ " --db-username" ,
37+ " keycloakuser" ,
38+ " --db-password" ,
39+ " keycloakuser" ,
40+ " --http-enabled" ,
41+ " true" ,
42+ " --http-port" ,
43+ " 9081" ,
44+ " --import-realm" ,
3045 ]
31- ports :
32- - 9081:9081/tcp
33- environment :
34- # KEYCLOAK_USER: local
35- # KEYCLOAK_PASSWORD: local
36- DB_VENDOR : POSTGRES
37- DB_SCHEMA : public
38- DB_ADDR : kong-db:5432
39- DB_USER : keycloakuser
40- DB_PASSWORD : keycloakuser
4146 volumes :
42- - ./local/keycloak/master-realm.json:/tmp/realm-config/master-realm.json
47+ - ./local/keycloak/master-realm.json:/opt/keycloak/data/import/master-realm.json
48+ ports :
49+ - 9081:9081
50+ - 9000:9000
4351 networks :
4452 aps-net :
4553 aliases :
4654 - keycloak.localtest.me
55+ healthcheck :
56+ test : timeout 10s bash -c ':> /dev/tcp/localhost/9081'
57+ interval : 5s
58+ timeout : 5s
59+ retries : 5
4760 oauth2-proxy :
4861 image : quay.io/oauth2-proxy/oauth2-proxy:v7.8.1
4962 container_name : oauth2-proxy
@@ -62,7 +75,7 @@ services:
6275 - oauth2proxy.localtest.me
6376 apsportal :
6477 container_name : apsportal
65- image : apsportal:latest
78+ image : apsportal:${APSPORTAL_TAG:- latest}
6679 depends_on :
6780 - keycloak
6881 build :
@@ -198,7 +211,7 @@ services:
198211 aliases :
199212 - redis-master
200213 gwa-api :
201- image : gwa-api:e2e
214+ image : gwa-api:${GWA_API_TAG:- e2e}
202215 container_name : gwa-api
203216 entrypoint : sh -c "chmod +x /tmp/gwa/entrypoint.sh && sh /tmp/gwa/entrypoint.sh"
204217 ports :
@@ -289,5 +302,17 @@ services:
289302 profiles :
290303 - testsuite
291304
305+ mailpit :
306+ image : axllent/mailpit:latest
307+ container_name : mailpit
308+ restart : unless-stopped
309+ ports :
310+ - ' 1025:1025' # SMTP port for receiving emails
311+ - ' 8025:8025' # Web UI for viewing emails
312+ networks :
313+ aps-net :
314+ aliases :
315+ - mailpit.localtest.me
316+
292317networks :
293318 aps-net : {}
0 commit comments