name: legalconsenthub-dev networks: legalconsenthub-net: driver: bridge volumes: keycloak_postgres_data: services: keycloak: image: quay.io/keycloak/keycloak:26.4.0 container_name: legalconsenthub-keycloak command: start-dev environment: KC_DB: postgres KC_DB_URL_HOST: keycloak-db KC_DB_USERNAME: ${KEYCLOAK_POSTGRES_USER} KC_DB_PASSWORD: ${KEYCLOAK_POSTGRES_PASSWORD} KC_DB_DATABASE: ${KEYCLOAK_POSTGRES_DB} KC_DB_SCHEMA: public KC_BOOTSTRAP_ADMIN_USERNAME: ${KEYCLOAK_ADMIN} KC_BOOTSTRAP_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD} KC_HOSTNAME: ${KEYCLOAK_HOSTNAME} KC_HTTP_ENABLED: true KC_HEALTH_ENABLED: true env_file: - .env.dev ports: - "7080:8080" depends_on: keycloak-db: condition: service_healthy networks: - legalconsenthub-net healthcheck: test: ["CMD-SHELL", "curl --head -fsS http://localhost:9000/health/ready | echo $?"] interval: 30s timeout: 10s retries: 5 start_period: 40s keycloak-db: image: postgres:latest container_name: legalconsenthub-keycloak-postgres environment: POSTGRES_USER: ${KEYCLOAK_POSTGRES_USER} POSTGRES_PASSWORD: ${KEYCLOAK_POSTGRES_PASSWORD} POSTGRES_DB: ${KEYCLOAK_POSTGRES_DB} env_file: - .env.dev ports: - "5532:5432" networks: - legalconsenthub-net volumes: - keycloak_postgres_data:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U $${KEYCLOAK_POSTGRES_USER} -d $${KEYCLOAK_POSTGRES_DB}"] interval: 10s retries: 5 start_period: 30s timeout: 10s