From 809ca1597984d42fb85b0019035c3ad5ccab8ac7 Mon Sep 17 00:00:00 2001 From: Sharang Parnerkar Date: Mon, 23 Feb 2026 21:47:06 +0100 Subject: [PATCH] fix(docker): fix keycloak health check and deprecation warnings Keycloak 26 image does not include curl, so the health check fails. Switch to bash TCP check against /realms/master. Also replace deprecated KEYCLOAK_ADMIN env vars with KC_BOOTSTRAP_ADMIN_USERNAME/PASSWORD, remove obsolete compose version key, and add start_period for slower machines. Co-Authored-By: Claude Opus 4.6 --- docker-compose.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 1e14865..a86dccb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,13 +1,12 @@ -version: '3.8' - services: keycloak: image: quay.io/keycloak/keycloak:26.0 container_name: certifai-keycloak environment: - KEYCLOAK_ADMIN: admin - KEYCLOAK_ADMIN_PASSWORD: admin + KC_BOOTSTRAP_ADMIN_USERNAME: admin + KC_BOOTSTRAP_ADMIN_PASSWORD: admin KC_DB: dev-mem + KC_HEALTH_ENABLED: "true" ports: - "8080:8080" command: @@ -17,10 +16,11 @@ services: - ./keycloak/realm-export.json:/opt/keycloak/data/import/realm-export.json:ro - ./keycloak/themes/certifai:/opt/keycloak/themes/certifai:ro healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8080/health/ready"] + test: ["CMD-SHELL", "exec 3<>/dev/tcp/localhost/8080 && echo -e 'GET /realms/master HTTP/1.1\\r\\nHost: localhost\\r\\nConnection: close\\r\\n\\r\\n' >&3 && head -1 <&3 | grep -q '200 OK'"] interval: 10s timeout: 5s - retries: 5 + retries: 10 + start_period: 30s mongo: image: mongo:latest