UNCLASSIFIED

Dockerfile 1.56 KB
Newer Older
sean.melissari's avatar
sean.melissari committed
1
ARG BASE_REGISTRY=registry1.dso.mil
sean.melissari's avatar
sean.melissari committed
2
ARG BASE_IMAGE=ironbank/redhat/openjdk/openjdk11
sean.melissari's avatar
sean.melissari committed
3
ARG BASE_TAG=1.11
Humberto Ojeda's avatar
Humberto Ojeda committed
4

sean.melissari's avatar
sean.melissari committed
5
FROM jboss/keycloak:15.0.0 AS builder
Humberto Ojeda's avatar
Humberto Ojeda committed
6

sean.melissari's avatar
sean.melissari committed
7 8
COPY --chown=jboss:root scripts/ /opt/jboss/tools

sean.melissari's avatar
sean.melissari committed
9 10 11 12 13
RUN ${JBOSS_HOME}/bin/jboss-cli.sh --file=/opt/jboss/tools/cli/remove-datasources.cli && \
    rm -rf /opt/jboss/keycloak/standalone/configuration/standalone_xml_history && \
    rm -rf /opt/jboss/keycloak/modules/system/layers/base/com/mysql/jdbc && \
    rm -rf /opt/jboss/keycloak/modules/system/layers/base/com/h2database

Humberto Ojeda's avatar
Humberto Ojeda committed
14 15 16
# This is the base image
FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG}

sean.melissari's avatar
sean.melissari committed
17
ENV KEYCLOAK_VERSION="15.0.0" \
Humberto Ojeda's avatar
Humberto Ojeda committed
18
    JDBC_POSTGRES_VERSION="42.2.5" \
sean.melissari's avatar
sean.melissari committed
19
    JDBC_MARIADB_VERSION="2.5.4" \
sean.melissari's avatar
sean.melissari committed
20
    JDBC_MSSQL_VERSION="8.2.2.jre11" \
Humberto Ojeda's avatar
Humberto Ojeda committed
21 22 23 24 25 26 27 28
    LAUNCH_JBOSS_IN_BACKGROUND="1" \
    PROXY_ADDRESS_FORWARDING="false" \
    JBOSS_HOME="/opt/jboss/keycloak" \
    LANG="en_US.UTF-8" \
    KEYCLOAK_USER_NAME="keycloak" \
    KEYCLOAK_USER_ID="1000" \
    KEYCLOAK_HOME="/opt/jboss"

sean.melissari's avatar
sean.melissari committed
29
USER root
sean.melissari's avatar
sean.melissari committed
30
RUN dnf update -y && \
sean.melissari's avatar
sean.melissari committed
31
    dnf install -y hostname openssl && \
sean.melissari's avatar
sean.melissari committed
32 33
    dnf clean all && \
    rm -rf /var/cache/dnf
Humberto Ojeda's avatar
Humberto Ojeda committed
34 35 36 37 38 39 40 41 42 43 44

# Copy binaries from builder image
COPY --from=builder /opt/jboss /opt/jboss

# Create the user, fix file system ownership
RUN useradd -u $KEYCLOAK_USER_ID -g 0 -M -d /opt/jboss $KEYCLOAK_USER_NAME && \
    chown -R ${KEYCLOAK_USER_NAME}:0 ${KEYCLOAK_HOME} && \
    chmod -R o-w /opt/jboss/keycloak

USER ${KEYCLOAK_USER_ID}

sean.melissari's avatar
sean.melissari committed
45
EXPOSE 8080 8443
Humberto Ojeda's avatar
Humberto Ojeda committed
46 47 48 49

HEALTHCHECK --timeout=5m --start-period=2m --retries=3 CMD curl http://localhost/auth || exit 1

ENTRYPOINT [ "/opt/jboss/tools/docker-entrypoint.sh" ]