diff --git a/.github/workflows/buildx.yml b/.github/workflows/buildx.yml index bd7d22a..6b83efa 100644 --- a/.github/workflows/buildx.yml +++ b/.github/workflows/buildx.yml @@ -16,7 +16,7 @@ jobs: matrix: java-version: [8, 11, 17, 21] java-type: [jdk, jre] - node-version: [20, 22] + node-version: [20, 22, 24] variant: [default, alpine] include: - variant: default diff --git a/.github/workflows/dockerimage.yml b/.github/workflows/dockerimage.yml index 6ca10c1..8455f72 100644 --- a/.github/workflows/dockerimage.yml +++ b/.github/workflows/dockerimage.yml @@ -15,7 +15,7 @@ jobs: matrix: java-version: [8, 11, 17, 21] java-type: [jdk, jre] - node-version: [20, 22] + node-version: [20, 22, 24] variant: [default, alpine] steps: - uses: actions/checkout@v5.0.0 diff --git a/11/jdk/20/Dockerfile b/11/jdk/20/Dockerfile index 05aa402..314f713 100644 --- a/11/jdk/20/Dockerfile +++ b/11/jdk/20/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:11-jdk -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=20 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/11/jdk/20/alpine/Dockerfile b/11/jdk/20/alpine/Dockerfile index 8e6b542..87468b3 100644 --- a/11/jdk/20/alpine/Dockerfile +++ b/11/jdk/20/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:11-jdk-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \ && echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \ diff --git a/11/jdk/22/Dockerfile b/11/jdk/22/Dockerfile index a7e82f3..b457ebf 100644 --- a/11/jdk/22/Dockerfile +++ b/11/jdk/22/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:11-jdk -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=22 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/11/jdk/22/alpine/Dockerfile b/11/jdk/22/alpine/Dockerfile index e273994..deb6d06 100644 --- a/11/jdk/22/alpine/Dockerfile +++ b/11/jdk/22/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:11-jdk-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/community >> /etc/apk/repositories \ && echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/main >> /etc/apk/repositories \ diff --git a/11/jdk/24/Dockerfile b/11/jdk/24/Dockerfile new file mode 100644 index 0000000..c61f9f1 --- /dev/null +++ b/11/jdk/24/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:11-jdk +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=24 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/11/jdk/24/alpine/Dockerfile b/11/jdk/24/alpine/Dockerfile new file mode 100644 index 0000000..6c09e67 --- /dev/null +++ b/11/jdk/24/alpine/Dockerfile @@ -0,0 +1,15 @@ +FROM eclipse-temurin:11-jdk-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \ + && echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + nodejs-current@edge \ + npm@edge \ + yarn \ + curl \ + git diff --git a/11/jre/20/Dockerfile b/11/jre/20/Dockerfile index 685e40a..197add9 100644 --- a/11/jre/20/Dockerfile +++ b/11/jre/20/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:11-jre -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=20 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/11/jre/20/alpine/Dockerfile b/11/jre/20/alpine/Dockerfile index e319e7e..6523da8 100644 --- a/11/jre/20/alpine/Dockerfile +++ b/11/jre/20/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:11-jre-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \ && echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \ diff --git a/11/jre/22/Dockerfile b/11/jre/22/Dockerfile index dc7dfc1..5bc4cff 100644 --- a/11/jre/22/Dockerfile +++ b/11/jre/22/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:11-jre -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=22 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/11/jre/22/alpine/Dockerfile b/11/jre/22/alpine/Dockerfile index f0a02c3..b83ec12 100644 --- a/11/jre/22/alpine/Dockerfile +++ b/11/jre/22/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:11-jre-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/community >> /etc/apk/repositories \ && echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/main >> /etc/apk/repositories \ diff --git a/11/jre/24/Dockerfile b/11/jre/24/Dockerfile new file mode 100644 index 0000000..30fee0d --- /dev/null +++ b/11/jre/24/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:11-jre +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=24 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/11/jre/24/alpine/Dockerfile b/11/jre/24/alpine/Dockerfile new file mode 100644 index 0000000..323a22d --- /dev/null +++ b/11/jre/24/alpine/Dockerfile @@ -0,0 +1,15 @@ +FROM eclipse-temurin:11-jre-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \ + && echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + nodejs-current@edge \ + npm@edge \ + yarn \ + curl \ + git diff --git a/17/jdk/20/Dockerfile b/17/jdk/20/Dockerfile index 58866d1..625f1c2 100644 --- a/17/jdk/20/Dockerfile +++ b/17/jdk/20/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:17-jdk -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=20 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/17/jdk/20/alpine/Dockerfile b/17/jdk/20/alpine/Dockerfile index 50a159c..a88d336 100644 --- a/17/jdk/20/alpine/Dockerfile +++ b/17/jdk/20/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:17-jdk-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \ && echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \ diff --git a/17/jdk/22/Dockerfile b/17/jdk/22/Dockerfile index 0d6cd4b..4ed75a1 100644 --- a/17/jdk/22/Dockerfile +++ b/17/jdk/22/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:17-jdk -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=22 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/17/jdk/22/alpine/Dockerfile b/17/jdk/22/alpine/Dockerfile index af93902..dcd8b2c 100644 --- a/17/jdk/22/alpine/Dockerfile +++ b/17/jdk/22/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:17-jdk-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/community >> /etc/apk/repositories \ && echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/main >> /etc/apk/repositories \ diff --git a/17/jdk/24/Dockerfile b/17/jdk/24/Dockerfile new file mode 100644 index 0000000..0805707 --- /dev/null +++ b/17/jdk/24/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:17-jdk +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=24 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/17/jdk/24/alpine/Dockerfile b/17/jdk/24/alpine/Dockerfile new file mode 100644 index 0000000..02cc28c --- /dev/null +++ b/17/jdk/24/alpine/Dockerfile @@ -0,0 +1,15 @@ +FROM eclipse-temurin:17-jdk-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \ + && echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + nodejs-current@edge \ + npm@edge \ + yarn \ + curl \ + git diff --git a/17/jre/20/Dockerfile b/17/jre/20/Dockerfile index 7f730ff..978f86c 100644 --- a/17/jre/20/Dockerfile +++ b/17/jre/20/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:17-jre -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=20 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/17/jre/20/alpine/Dockerfile b/17/jre/20/alpine/Dockerfile index 5f9fbcc..6dfaaed 100644 --- a/17/jre/20/alpine/Dockerfile +++ b/17/jre/20/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:17-jre-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \ && echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \ diff --git a/17/jre/22/Dockerfile b/17/jre/22/Dockerfile index a3bacb3..9860500 100644 --- a/17/jre/22/Dockerfile +++ b/17/jre/22/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:17-jre -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=22 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/17/jre/22/alpine/Dockerfile b/17/jre/22/alpine/Dockerfile index 00d827a..2e045de 100644 --- a/17/jre/22/alpine/Dockerfile +++ b/17/jre/22/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:17-jre-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/community >> /etc/apk/repositories \ && echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/main >> /etc/apk/repositories \ diff --git a/17/jre/24/Dockerfile b/17/jre/24/Dockerfile new file mode 100644 index 0000000..2d609d6 --- /dev/null +++ b/17/jre/24/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:17-jre +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=24 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/17/jre/24/alpine/Dockerfile b/17/jre/24/alpine/Dockerfile new file mode 100644 index 0000000..c6534f6 --- /dev/null +++ b/17/jre/24/alpine/Dockerfile @@ -0,0 +1,15 @@ +FROM eclipse-temurin:17-jre-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \ + && echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + nodejs-current@edge \ + npm@edge \ + yarn \ + curl \ + git diff --git a/21/jdk/20/Dockerfile b/21/jdk/20/Dockerfile index fc9b8a0..4994b3f 100644 --- a/21/jdk/20/Dockerfile +++ b/21/jdk/20/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:21-jdk -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=20 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/21/jdk/20/alpine/Dockerfile b/21/jdk/20/alpine/Dockerfile index 67c16d5..7c25176 100644 --- a/21/jdk/20/alpine/Dockerfile +++ b/21/jdk/20/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:21-jdk-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \ && echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \ diff --git a/21/jdk/22/Dockerfile b/21/jdk/22/Dockerfile index 9adc79b..66f918e 100644 --- a/21/jdk/22/Dockerfile +++ b/21/jdk/22/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:21-jdk -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=22 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/21/jdk/22/alpine/Dockerfile b/21/jdk/22/alpine/Dockerfile index 9906ad5..f808354 100644 --- a/21/jdk/22/alpine/Dockerfile +++ b/21/jdk/22/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:21-jdk-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/community >> /etc/apk/repositories \ && echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/main >> /etc/apk/repositories \ diff --git a/21/jdk/24/Dockerfile b/21/jdk/24/Dockerfile new file mode 100644 index 0000000..1f9ee29 --- /dev/null +++ b/21/jdk/24/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:21-jdk +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=24 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/21/jdk/24/alpine/Dockerfile b/21/jdk/24/alpine/Dockerfile new file mode 100644 index 0000000..23c24d1 --- /dev/null +++ b/21/jdk/24/alpine/Dockerfile @@ -0,0 +1,15 @@ +FROM eclipse-temurin:21-jdk-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \ + && echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + nodejs-current@edge \ + npm@edge \ + yarn \ + curl \ + git diff --git a/21/jre/20/Dockerfile b/21/jre/20/Dockerfile index 315f3c5..974241a 100644 --- a/21/jre/20/Dockerfile +++ b/21/jre/20/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:21-jre -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=20 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/21/jre/20/alpine/Dockerfile b/21/jre/20/alpine/Dockerfile index a23a496..630e757 100644 --- a/21/jre/20/alpine/Dockerfile +++ b/21/jre/20/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:21-jre-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \ && echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \ diff --git a/21/jre/22/Dockerfile b/21/jre/22/Dockerfile index ec04df2..d2f4958 100644 --- a/21/jre/22/Dockerfile +++ b/21/jre/22/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:21-jre -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=22 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/21/jre/22/alpine/Dockerfile b/21/jre/22/alpine/Dockerfile index cb9a263..9934315 100644 --- a/21/jre/22/alpine/Dockerfile +++ b/21/jre/22/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:21-jre-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/community >> /etc/apk/repositories \ && echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/main >> /etc/apk/repositories \ diff --git a/21/jre/24/Dockerfile b/21/jre/24/Dockerfile new file mode 100644 index 0000000..d665276 --- /dev/null +++ b/21/jre/24/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:21-jre +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=24 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/21/jre/24/alpine/Dockerfile b/21/jre/24/alpine/Dockerfile new file mode 100644 index 0000000..d424b87 --- /dev/null +++ b/21/jre/24/alpine/Dockerfile @@ -0,0 +1,15 @@ +FROM eclipse-temurin:21-jre-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \ + && echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + nodejs-current@edge \ + npm@edge \ + yarn \ + curl \ + git diff --git a/8/jdk/20/Dockerfile b/8/jdk/20/Dockerfile index 2074591..7162527 100644 --- a/8/jdk/20/Dockerfile +++ b/8/jdk/20/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:8-jdk -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=20 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/8/jdk/20/alpine/Dockerfile b/8/jdk/20/alpine/Dockerfile index 69b003a..b7af89e 100644 --- a/8/jdk/20/alpine/Dockerfile +++ b/8/jdk/20/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:8-jdk-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \ && echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \ diff --git a/8/jdk/22/Dockerfile b/8/jdk/22/Dockerfile index 2dca5e3..f93261e 100644 --- a/8/jdk/22/Dockerfile +++ b/8/jdk/22/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:8-jdk -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=22 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/8/jdk/22/alpine/Dockerfile b/8/jdk/22/alpine/Dockerfile index cbba7bb..f718122 100644 --- a/8/jdk/22/alpine/Dockerfile +++ b/8/jdk/22/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:8-jdk-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/community >> /etc/apk/repositories \ && echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/main >> /etc/apk/repositories \ diff --git a/8/jdk/24/Dockerfile b/8/jdk/24/Dockerfile new file mode 100644 index 0000000..0e4a77c --- /dev/null +++ b/8/jdk/24/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:8-jdk +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=24 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/8/jdk/24/alpine/Dockerfile b/8/jdk/24/alpine/Dockerfile new file mode 100644 index 0000000..54a4630 --- /dev/null +++ b/8/jdk/24/alpine/Dockerfile @@ -0,0 +1,15 @@ +FROM eclipse-temurin:8-jdk-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \ + && echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + nodejs-current@edge \ + npm@edge \ + yarn \ + curl \ + git diff --git a/8/jre/20/Dockerfile b/8/jre/20/Dockerfile index 43266cc..67bd6ae 100644 --- a/8/jre/20/Dockerfile +++ b/8/jre/20/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:8-jre -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=20 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/8/jre/20/alpine/Dockerfile b/8/jre/20/alpine/Dockerfile index 34c264b..0cceada 100644 --- a/8/jre/20/alpine/Dockerfile +++ b/8/jre/20/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:8-jre-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \ && echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \ diff --git a/8/jre/22/Dockerfile b/8/jre/22/Dockerfile index a2e358c..73edebd 100644 --- a/8/jre/22/Dockerfile +++ b/8/jre/22/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:8-jre -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT ARG NODE_MAJOR=22 SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/8/jre/22/alpine/Dockerfile b/8/jre/22/alpine/Dockerfile index 58fe2e2..715dac8 100644 --- a/8/jre/22/alpine/Dockerfile +++ b/8/jre/22/alpine/Dockerfile @@ -1,8 +1,8 @@ FROM eclipse-temurin:8-jre-alpine -LABEL maintainer "Tim Brust " +LABEL maintainer="Tim Brust " ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT RUN echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/community >> /etc/apk/repositories \ && echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/main >> /etc/apk/repositories \ diff --git a/8/jre/24/Dockerfile b/8/jre/24/Dockerfile new file mode 100644 index 0000000..3f5644f --- /dev/null +++ b/8/jre/24/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:8-jre +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=24 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/8/jre/24/alpine/Dockerfile b/8/jre/24/alpine/Dockerfile new file mode 100644 index 0000000..603394c --- /dev/null +++ b/8/jre/24/alpine/Dockerfile @@ -0,0 +1,15 @@ +FROM eclipse-temurin:8-jre-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \ + && echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + nodejs-current@edge \ + npm@edge \ + yarn \ + curl \ + git diff --git a/README.md b/README.md index 5719ab0..17f339f 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ -# Java (JRE or JDK version 8, 11, 17 or 21) with Node.js 20 LTS (Iron) or Node.js 22 LTS (Jod) Dockerfile +# Java (JRE or JDK version 8, 11, 17 or 21) with Node.js 20 LTS (Iron), Node.js 22 LTS (Jod) or Node.js 24 (Krypton) Dockerfile [![Docker Automated build](https://img.shields.io/docker/automated/timbru31/java-node.svg)](https://hub.docker.com/r/timbru31/java-node/) [![buildx Status](https://github.com/timbru31/docker-java-node/workflows/buildx/badge.svg)](https://github.com/timbru31/docker-java-node/actions?query=workflow%3Abuildx) [![Lint Dockerfiles](https://github.com/timbru31/docker-java-node/workflows/Lint%20Dockerfiles/badge.svg)](https://github.com/timbru31/docker-java-node/actions?query=workflow%3A%22Lint+Dockerfiles%22) -A minimal Dockerfile based on Eclipse Temurin's OpenJDK JRE or JDK 8/11/17/21 Dockerfile (regular, alpine) with Node.js 20 LTS (Iron) or Node.js 22 LTS (Jod) installed. +A minimal Dockerfile based on Eclipse Temurin's OpenJDK JRE or JDK 8/11/17/21 Dockerfile (regular, alpine) with Node.js 20 LTS (Iron), Node.js 22 LTS (Jod) or Node.js 24 (Krypton) installed. ## What's included - JRE or JDK 8/11/17/21 -- Node.js 20 LTS (Iron) or Node.js 22 LTS (Jod) +- Node.js 20 LTS (Iron), Node.js 22 LTS (Jod) or Node.js 24 (Krypton) - bundled npm that comes with the respective Node.js version (latest for Node.js on alpine, see [why](https://gitlab.alpinelinux.org/alpine/aports/-/commit/25b10bd1a93e12a7e49fee38b0a229281ae49fb7)) - yarn - curl @@ -20,7 +20,7 @@ These Dockerfiles leverage the new `buildx` functionality and offer the followin - linux/amd64 - linux/arm64 (not for alpine) -- linux/arm/v7 (not for alpine, not for Java 21) +- linux/arm/v7 (not for alpine, not for Java 21, not for Node.js >= 24) - linux/ppc64le (not for alpine) ---