Hi Ed, here follows the files I used to build Keycloak.
The main Dockerfile is from their project where I just patch with my image and newer version.
Check the build.sh script.
| #!/bin/bash | |
| docker buildx build --platform linux/arm64,linux/amd64 -t carlosedp/jboss-base:8 -f Dockerfile.base . --push | |
| git clone https://github.com/jboss-dockerfiles/keycloak.git | |
| cd keycloak/server | |
| patch -p1 < ../image.patch | |
| docker buildx build --platform linux/arm64,linux/amd64 -t carlosedp/keycloak:v6.0.1 -f Dockerfile . --push |
| FROM centos:7 | |
| MAINTAINER Marek Goldmann <mgoldman@redhat.com> | |
| # Install packages necessary to run EAP | |
| RUN yum update -y && yum -y install xmlstarlet saxon augeas bsdtar unzip java-1.8.0-openjdk-devel && yum clean all | |
| # Create a user and group used to launch processes | |
| # The user ID 1000 is the default for the first "regular" user on Fedora/RHEL, | |
| # so there is a high chance that this ID will be equal to the current user | |
| # making it easier to use volumes (no permission issues) | |
| RUN groupadd -r jboss -g 1000 && useradd -u 1000 -r -g jboss -m -d /opt/jboss -s /sbin/nologin -c "JBoss user" jboss && \ | |
| chmod 755 /opt/jboss | |
| # Set the working directory to jboss' user home directory | |
| WORKDIR /opt/jboss | |
| # Specify the user which should be used to execute all commands below | |
| USER jboss | |
| # Set the JAVA_HOME variable to make it clear where Java is located | |
| ENV JAVA_HOME /usr/lib/jvm/java |
| diff --git a/server/Dockerfile b/server/Dockerfile | |
| index 64d836b..24861da 100644 | |
| --- a/server/Dockerfile | |
| +++ b/server/Dockerfile | |
| @@ -1,6 +1,6 @@ | |
| -FROM jboss/base-jdk:8 | |
| +FROM carlosedp/jboss-base:8 | |
| -ENV KEYCLOAK_VERSION 5.0.0 | |
| +ENV KEYCLOAK_VERSION 6.0.1 | |
| ENV JDBC_POSTGRES_VERSION 42.2.5 | |
| ENV JDBC_MYSQL_VERSION 5.1.46 | |
| ENV JDBC_MARIADB_VERSION 2.2.3 |