ARG KEYCLOAK_VERSION=26.1.4 FROM maven:3.9.9-eclipse-temurin-21 AS provider-build WORKDIR /build COPY pom.xml . RUN --mount=type=cache,target=/root/.m2 mvn -B -ntp dependency:go-offline COPY src ./src COPY realm ./realm COPY themes ./themes RUN --mount=type=cache,target=/root/.m2 mvn -B -ntp clean verify FROM quay.io/keycloak/keycloak:26.1.4 AS keycloak-build COPY --from=provider-build /build/target/han-phone-otp-provider.jar /opt/keycloak/providers/ COPY themes/han-phone /opt/keycloak/themes/han-phone ENV KC_HEALTH_ENABLED=true \ KC_METRICS_ENABLED=true \ KC_DB=postgres \ KC_HTTP_RELATIVE_PATH=/auth RUN /opt/keycloak/bin/kc.sh build FROM quay.io/keycloak/keycloak:26.1.4 COPY --from=keycloak-build --chown=keycloak:keycloak /opt/keycloak/ /opt/keycloak/ COPY --chown=keycloak:keycloak realm/han-chat-realm.json /opt/keycloak/data/import/han-chat-realm.json COPY --chown=keycloak:keycloak --chmod=0555 container-entrypoint.sh /opt/keycloak/bin/han-container-entrypoint USER 1000 EXPOSE 8080 9000 ENTRYPOINT ["/opt/keycloak/bin/han-container-entrypoint"] CMD ["start", "--optimized", "--import-realm"]