54 lines
1.7 KiB
YAML
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
|