# ----------------------------- # Keycloak with SQLite (POC) on port 8888 # ----------------------------- ARG KEYCLOAK_VERSION=25.0 FROM quay.io/keycloak/keycloak:${KEYCLOAK_VERSION} AS builder # Enable health & metrics ENV KC_HEALTH_ENABLED=true \ KC_METRICS_ENABLED=true # Build optimized runtime RUN /opt/keycloak/bin/kc.sh build # ----------------------------- # Runtime image # ----------------------------- FROM quay.io/keycloak/keycloak:${KEYCLOAK_VERSION} # Default DB = SQLite ENV KC_DB=sqlite \ KC_DB_URL=jdbc:sqlite:/opt/keycloak/data/keycloak.db \ KEYCLOAK_ADMIN=admin \ KEYCLOAK_ADMIN_PASSWORD=admin \ KC_HEALTH_ENABLED=true \ KC_METRICS_ENABLED=true \ KC_HTTP_PORT=7860 # Copy optimized build COPY --from=builder /opt/keycloak/ /opt/keycloak/ # Persist DB file VOLUME ["/opt/keycloak/data"] # Expose new internal port EXPOSE 7860 # Run Keycloak on port 8888 ENTRYPOINT ["/opt/keycloak/bin/kc.sh"] # CMD ["start", "--optimized"] # CMD ["start", "--optimized", "--http-port=7860","--http-enabled=true", "--https-port=-1", "--hostname-strict=false"] CMD ["start", "--optimized", "--http-enabled=true", "--http-port=8888", "--hostname-strict=false"]