29 lines
1.1 KiB
Docker
29 lines
1.1 KiB
Docker
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"]
|