Files
infra-keycloak/compose/docker-compose.yml
T
2026-05-07 21:08:39 +02:00

54 lines
1.7 KiB
YAML

services:
keycloak:
image: quay.io/keycloak/keycloak:26.5.4
command: start-dev
environment:
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak
KC_DB_USERNAME: keycloak
KC_DB_PASSWORD: ${KC_DB_PASSWORD:-keycloak}
KC_HOSTNAME_STRICT: "false"
KC_HTTP_PORT: 8080
KC_HEALTH_ENABLED: "true"
KC_BOOTSTRAP_ADMIN_USERNAME: ${KEYCLOAK_ADMIN:-admin}
KC_BOOTSTRAP_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD:-admin}
ports:
- "8080:8080"
networks:
- compose
healthcheck:
test: ["CMD-SHELL", "exec 3<>/dev/tcp/localhost/9000 && echo -e 'GET /health/ready HTTP/1.1\\r\\nHost: localhost\\r\\nConnection: close\\r\\n\\r\\n' >&3 && cat <&3 | grep -q 'UP'"]
interval: 15s
timeout: 10s
retries: 10
start_period: 30s
keycloak-config-cli:
image: public.ecr.aws/bitnami/keycloak-config-cli:latest
platform: linux/amd64
environment:
KEYCLOAK_URL: http://keycloak:8080
KEYCLOAK_USER: ${KEYCLOAK_ADMIN:-admin}
KEYCLOAK_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD:-admin}
KEYCLOAK_AVAILABILITYCHECK_ENABLED: "true"
KEYCLOAK_AVAILABILITYCHECK_TIMEOUT: 120s
IMPORT_FILES_LOCATIONS: /config/*
IMPORT_MANAGED_REALM: full
DEMO_BACKEND_SECRET: ${DEMO_BACKEND_SECRET}
DEMO_USER_PASSWORD: ${DEMO_USER_PASSWORD}
BACKLOG_AGENT_SECRET: ${BACKLOG_AGENT_SECRET}
A2A_GATEWAY_SECRET: ${A2A_GATEWAY_SECRET}
LLM_GATEWAY_SECRET: ${LLM_GATEWAY_SECRET}
TOOLS_GATEWAY_SECRET: ${TOOLS_GATEWAY_SECRET}
volumes:
- ./keycloak-config:/config:ro
networks:
- compose
depends_on:
keycloak:
condition: service_healthy
networks:
compose:
external: true