-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
31 lines (25 loc) · 1.09 KB
/
Dockerfile
File metadata and controls
31 lines (25 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
ARG KC_VERSION
FROM quay.io/keycloak/keycloak:${KC_VERSION} AS builder
ENV KC_HEALTH_ENABLED=true
ENV KC_METRICS_ENABLED=true
ENV KC_DB=postgres
WORKDIR /opt/keycloak
ADD dist_keycloak/keycloak-theme-for-kc-22-to-25.jar /opt/keycloak/providers/geektr-cloud-theme.jar
RUN /opt/keycloak/bin/kc.sh build --features=docker
FROM quay.io/keycloak/keycloak:${KC_VERSION}
COPY --from=builder /opt/keycloak/ /opt/keycloak/
RUN <<EORUN
#!/bin/sh -e
cat >/opt/keycloak/healthcheck.java <<EOF
public class healthcheck {
public static void main(String[] args) throws java.lang.Throwable {
System.exit(java.net.HttpURLConnection.HTTP_OK == ((java.net.HttpURLConnection) new java.net.URL(
"http://localhost:9000/health/live")
.openConnection()).getResponseCode() ? 0 : 1);
}
}
EOF
EORUN
HEALTHCHECK --interval=10s --timeout=3s --start-period=5s --retries=20 CMD ["java", "/opt/keycloak/healthcheck.java"]
# https://www.keycloak.org/docs/latest/upgrading/index.html#the-deprecated-auto-build-cli-option-was-removed
ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start", "--optimized"]