services: keycloak: build: context: . dockerfile: ./tools/Dockerfile.prod. # FOR IMPORTING REALM # dockerfile: ./tools/Dockerfile.dev # command: ["start-dev", "--features=scripts"] container_name: ${KEYCLOAK_CONTAINER_NAME:-local-keycloak} environment: # Admin configuration KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN:-admin} KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD:-admin123} # Database configuration KC_DB: ${KC_DB:-keycloak-postgres} KC_DB_URL: ${KC_DB_URL:-jdbc:postgresql://keycloak-postgres:5432/keycloak} KC_DB_USERNAME: ${KC_DB_USERNAME:-keycloak} KC_DB_PASSWORD: ${KC_DB_PASSWORD:-password} # Network configuration KC_HOSTNAME_STRICT: ${KC_HOSTNAME_STRICT:-false} KC_HOSTNAME_STRICT_HTTPS: ${KC_HOSTNAME_STRICT_HTTPS:-false} KC_HTTP_ENABLED: ${KC_HTTP_ENABLED:-true} KC_HEALTH_ENABLED: ${KC_HEALTH_ENABLED:-true} KC_METRICS_ENABLED: ${KC_METRICS_ENABLED:-true} # Logging KC_LOG_LEVEL: ${LOG_LEVEL:-INFO} env_file: - .env ports: - "${KEYCLOAK_PORT:-8080}:8080" - "9000:9000" # Health check depends_on: keycloak-postgres: condition: service_healthy healthcheck: test: ["CMD-SHELL", "timeout 5s sh -c '