services: keycloak: image: quay.io/keycloak/keycloak:${KEYCLOAK_VERSION:-latest} environment: KC_DB: ${KC_DB} KC_DB_SCHEMA: ${KC_DB_SCHEMA} KC_DB_USERNAME: ${KC_DB_USERNAME} KC_DB_PASSWORD: ${KC_DB_PASSWORD} KC_DB_URL_HOST: ${KC_DB_URL_HOST} KC_METRICS_ENABLED: ${KC_METRICS_ENABLED} KC_HEALTH_ENABLED: ${KC_HEALTH_ENABLED} KC_BOOTSTRAP_ADMIN_USERNAME: ${KC_BOOTSTRAP_ADMIN_USERNAME} KC_BOOTSTRAP_ADMIN_PASSWORD: ${KC_BOOTSTRAP_ADMIN_PASSWORD} KC_PROXY_HEADERS: ${KC_PROXY_HEADERS} KC_HTTP_ENABLED: ${KC_HTTP_ENABLED} KC_HOSTNAME_STRICT: ${KC_HOSTNAME_STRICT} KC_HOSTNAME: ${KC_HOSTNAME} KC_HOSTNAME_PORT: ${KC_PORT} command: start container_name: ${CONTAINER_NAME} volumes: - ${HOST_VOLUME}:/opt/keycloak/themes restart: always ports: - ${HOST_PORT1}:8080 - ${HOST_PORT2}:8443 healthcheck: test: [ "CMD", "curl", "-f", "http://localhost:8080/health/ready" ] interval: 15s timeout: 2s retries: 15 entrypoint: '/opt/keycloak/bin/kc.sh'