aboutsummaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile20
1 files changed, 20 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..04fbbf4
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,20 @@
+FROM node:20 as keycloakify_jar_builder
+RUN apt-get update && \
+ apt-get install -y openjdk-17-jdk && \
+ apt-get install -y maven;
+COPY ./keycloakify-starter/package.json ./keycloakify-starter/pnpm-lock.yaml /opt/app/
+WORKDIR /opt/app
+RUN pnpm install
+COPY ./keycloakify-starter/ /opt/app/
+RUN pnpm run build
+
+ARG KEYCLOAK_VERSION=25.0.4
+FROM quay.io/keycloak/keycloak:${KEYCLOAK_VERSION} as builder
+WORKDIR /opt/keycloak
+COPY --from=keycloakify_jar_builder /opt/app/dist_keycloak/keycloak-theme-for-kc-22-and-above.jar /opt/keycloak/providers/
+RUN /opt/keycloak/bin/kc.sh build
+
+FROM quay.io/keycloak/keycloak:${KEYCLOAK_VERSION}
+COPY --from=builder /opt/keycloak/ /opt/keycloak/
+
+ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start", "--optimized"]