diff --git a/dockerfiles/alpine/integrator-dist/Dockerfile b/dockerfiles/alpine/integrator-dist/Dockerfile new file mode 100644 index 00000000..a4854665 --- /dev/null +++ b/dockerfiles/alpine/integrator-dist/Dockerfile @@ -0,0 +1,69 @@ +FROM alpine:3.22.2 + +ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' + +RUN apk update && apk upgrade --no-cache \ + && apk add --no-cache ca-certificates curl musl-locales musl-locales-lang unzip wget \ + && rm -rf /var/cache/apk/* + +ENV JAVA_VERSION jdk-21.0.11+10 + +# install Temurin OpenJDK 21 +RUN set -eux; \ + ARCH="$(apk --print-arch)"; \ + case "${ARCH}" in \ + amd64|x86_64) \ + ESUM='38bfdcef1e4b45de2ec222047ac79c76bea75d4d7406a310e26cfa236763f05f'; \ + BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_x64_alpine-linux_hotspot_21.0.11_10.tar.gz'; \ + ;; \ + aarch64|arm64) \ + ESUM='c8d63598d1dc0a656033515ed258bd6db37506a05407d9f65cd23b95c21027b5'; \ + BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_aarch64_alpine-linux_hotspot_21.0.11_10.tar.gz'; \ + ;; \ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + wget -O /tmp/openjdk.tar.gz ${BINARY_URL}; \ + echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ + mkdir -p /opt/java/openjdk; \ + tar --extract \ + --file /tmp/openjdk.tar.gz \ + --directory /opt/java/openjdk \ + --strip-components 1 \ + --no-same-owner \ + ; \ + rm -rf /tmp/openjdk.tar.gz; + +ENV JAVA_HOME=/opt/java/openjdk \ + PATH="/opt/java/openjdk/bin:$PATH" + +LABEL maintainer="WSO2 Docker Maintainers " + +ARG USER=wso2carbon +ARG USER_ID=10802 +ARG USER_GROUP=wso2 +ARG USER_GROUP_ID=10802 +ARG USER_HOME=/home/${USER} +ARG WSO2_SERVER_NAME=wso2-integrator-dist +ARG WSO2_SERVER_VERSION=5.0.0 +ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} +ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} +ARG WSO2_SERVER_DIST_URL= + +RUN addgroup -S -g ${USER_GROUP_ID} ${USER_GROUP} \ + && adduser -S -u ${USER_ID} -h ${USER_HOME} -G ${USER_GROUP} ${USER} + +RUN wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ + && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ + && rm -f ${WSO2_SERVER}.zip \ + && chown -R ${USER}:${USER_GROUP} ${USER_HOME} + +ENV BALLERINA_HOME=${WSO2_SERVER_HOME}/ballerina-2201.13.2 +ENV PATH="${BALLERINA_HOME}/bin:${PATH}" + +USER ${USER_ID} +WORKDIR ${USER_HOME} + +CMD ["bal", "version"] diff --git a/dockerfiles/alpine/integrator-dist/README.md b/dockerfiles/alpine/integrator-dist/README.md new file mode 100644 index 00000000..81ccd91a --- /dev/null +++ b/dockerfiles/alpine/integrator-dist/README.md @@ -0,0 +1 @@ +# WSO2 Integrator Distribution Docker resources for Alpine diff --git a/dockerfiles/rocky/integrator-dist/Dockerfile b/dockerfiles/rocky/integrator-dist/Dockerfile new file mode 100644 index 00000000..1e208299 --- /dev/null +++ b/dockerfiles/rocky/integrator-dist/Dockerfile @@ -0,0 +1,76 @@ +FROM rockylinux/rockylinux:9.5 + +ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' + +RUN dnf install -y glibc-locale-source glibc-langpack-en \ + && localedef -i en_US -f UTF-8 en_US.UTF-8 \ + && echo "LANG=en_US.UTF-8" > /etc/locale.conf \ + && echo "LC_ALL=en_US.UTF-8" >> /etc/environment \ + && dnf clean all \ + && rm -rf /var/cache/dnf + +RUN dnf update -y \ + && dnf install -y binutils ca-certificates curl unzip wget \ + && dnf clean all + +ENV JAVA_VERSION jdk-21.0.11+10 + +# install Temurin OpenJDK 21 +RUN set -eux; \ + ARCH="$(objdump="$(command -v objdump)" && objdump --file-headers "$objdump" | awk -F '[:,]+[[:space:]]+' '$1 == "architecture" { print $2 }')"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + ESUM='8d498ec88e1c1989fab95c6784240ab92d011e29c54d20a3f9c324b13476f9ad'; \ + BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.11_10.tar.gz'; \ + ;; \ + ppc64el|powerpc:common64) \ + ESUM='3d043ae96d2343962bf2307d8c55f19849fbfa4c6be9fe164a77d79263f0d989'; \ + BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.11_10.tar.gz'; \ + ;; \ + amd64|i386:x86-64) \ + ESUM='4b2220e232a97997b436ca6ab15cbf70171ecff52958a46159dfa5a8c44ca4de'; \ + BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_x64_linux_hotspot_21.0.11_10.tar.gz'; \ + ;; \ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ + echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ + mkdir -p /opt/java/openjdk; \ + cd /opt/java/openjdk; \ + tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ + rm -rf /tmp/openjdk.tar.gz; + +ENV JAVA_HOME=/opt/java/openjdk \ + PATH="/opt/java/openjdk/bin:$PATH" + +LABEL maintainer="WSO2 Docker Maintainers " + +ARG USER=wso2carbon +ARG USER_ID=10802 +ARG USER_GROUP=wso2 +ARG USER_GROUP_ID=10802 +ARG USER_HOME=/home/${USER} +ARG WSO2_SERVER_NAME=wso2-integrator-dist +ARG WSO2_SERVER_VERSION=5.0.0 +ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} +ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} +ARG WSO2_SERVER_DIST_URL= + +RUN groupadd --system -g ${USER_GROUP_ID} ${USER_GROUP} \ + && useradd --system --create-home --home-dir ${USER_HOME} --no-log-init -g ${USER_GROUP_ID} -u ${USER_ID} ${USER} + +RUN wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ + && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ + && rm -f ${WSO2_SERVER}.zip \ + && chown -R ${USER}:${USER_GROUP} ${USER_HOME} + +ENV BALLERINA_HOME=${WSO2_SERVER_HOME}/ballerina-2201.13.2 +ENV PATH="${BALLERINA_HOME}/bin:${PATH}" + +USER ${USER_ID} +WORKDIR ${USER_HOME} + +CMD ["bal", "version"] diff --git a/dockerfiles/rocky/integrator-dist/README.md b/dockerfiles/rocky/integrator-dist/README.md new file mode 100644 index 00000000..cfc8f29f --- /dev/null +++ b/dockerfiles/rocky/integrator-dist/README.md @@ -0,0 +1 @@ +# WSO2 Integrator Distribution Docker resources for Rocky diff --git a/dockerfiles/ubuntu/integrator-dist/Dockerfile b/dockerfiles/ubuntu/integrator-dist/Dockerfile new file mode 100644 index 00000000..f0b47a21 --- /dev/null +++ b/dockerfiles/ubuntu/integrator-dist/Dockerfile @@ -0,0 +1,75 @@ +FROM ubuntu:25.10 + +ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' + +RUN apt-get update && apt-get upgrade -y \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates curl locales unzip wget \ + && echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \ + && locale-gen en_US.UTF-8 \ + && rm -rf /var/lib/apt/lists/* + +ENV JAVA_VERSION jdk-21.0.11+10 + +# install Temurin OpenJDK 21 +RUN set -eux; \ + ARCH="$(dpkg --print-architecture)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + ESUM='8d498ec88e1c1989fab95c6784240ab92d011e29c54d20a3f9c324b13476f9ad'; \ + BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.11_10.tar.gz'; \ + ;; \ + ppc64el|powerpc:common64) \ + ESUM='3d043ae96d2343962bf2307d8c55f19849fbfa4c6be9fe164a77d79263f0d989'; \ + BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.11_10.tar.gz'; \ + ;; \ + s390x|s390:64-bit) \ + ESUM='14dbe3cb226e64b945a36bea32686e8deec746504fe3ccee8de585c54af41ffd'; \ + BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_s390x_linux_hotspot_21.0.11_10.tar.gz'; \ + ;; \ + amd64|i386:x86-64) \ + ESUM='4b2220e232a97997b436ca6ab15cbf70171ecff52958a46159dfa5a8c44ca4de'; \ + BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_x64_linux_hotspot_21.0.11_10.tar.gz'; \ + ;; \ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ + echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ + mkdir -p /opt/java/openjdk; \ + cd /opt/java/openjdk; \ + tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ + rm -rf /tmp/openjdk.tar.gz; + +ENV JAVA_HOME=/opt/java/openjdk \ + PATH="/opt/java/openjdk/bin:$PATH" + +LABEL maintainer="WSO2 Docker Maintainers " + +ARG USER=wso2carbon +ARG USER_ID=10802 +ARG USER_GROUP=wso2 +ARG USER_GROUP_ID=10802 +ARG USER_HOME=/home/${USER} +ARG WSO2_SERVER_NAME=wso2-integrator-dist +ARG WSO2_SERVER_VERSION=5.0.0 +ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} +ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} +ARG WSO2_SERVER_DIST_URL= + +RUN groupadd --system -g ${USER_GROUP_ID} ${USER_GROUP} \ + && useradd --system --create-home --home-dir ${USER_HOME} --no-log-init -g ${USER_GROUP_ID} -u ${USER_ID} ${USER} + +RUN wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ + && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ + && rm -f ${WSO2_SERVER}.zip \ + && chown -R ${USER}:${USER_GROUP} ${USER_HOME} + +ENV BALLERINA_HOME=${WSO2_SERVER_HOME}/ballerina-2201.13.2 +ENV PATH="${BALLERINA_HOME}/bin:${PATH}" + +USER ${USER_ID} +WORKDIR ${USER_HOME} + +CMD ["bal", "version"] diff --git a/dockerfiles/ubuntu/integrator-dist/README.md b/dockerfiles/ubuntu/integrator-dist/README.md new file mode 100644 index 00000000..aeb11499 --- /dev/null +++ b/dockerfiles/ubuntu/integrator-dist/README.md @@ -0,0 +1 @@ +# WSO2 Integrator Distribution Docker resources for Ubuntu