Skip to content

Commit 64cbbe0

Browse files
committed
feat: rebuild 22, 24, 26 Alpine images
1 parent 2685a40 commit 64cbbe0

6 files changed

Lines changed: 166 additions & 142 deletions

File tree

‎22/alpine3.23/Dockerfile‎

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,23 @@ ENV NODE_VERSION=22.23.3
55
RUN addgroup -g 1000 node \
66
&& adduser -u 1000 -G node -s /bin/sh -D node \
77
&& apk add --no-cache \
8+
libatomic \
89
libstdc++ \
910
&& apk add --no-cache --virtual .build-deps \
11+
gnupg \
1012
curl \
1113
&& ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \
1214
&& case "${alpineArch##*-}" in \
13-
x86_64) ARCH='x64' CHECKSUM="9b177f0c140a82a3d247e8f54586a65dbdf91e5e3a01f04708dabfdc9e0e01c4" OPENSSL_ARCH=linux-x86_64;; \
15+
x86_64) ARCH='x64' OPENSSL_ARCH=linux-x86_64;; \
1416
aarch64) OPENSSL_ARCH=linux-aarch64;; \
1517
arm*) OPENSSL_ARCH=linux-armv4;; \
1618
s390x) OPENSSL_ARCH=linux-s390x;; \
1719
*) echo "unsupported architecture"; exit 1 ;; \
1820
esac \
19-
&& if [ -n "${CHECKSUM}" ]; then \
20-
set -eu; \
21-
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
22-
echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
23-
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
24-
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
25-
else \
26-
echo "Building from source" \
27-
# backup build
28-
&& apk add --no-cache --virtual .build-deps-full \
29-
binutils-gold \
30-
g++ \
31-
gcc \
32-
gnupg \
33-
libgcc \
34-
linux-headers \
35-
make \
36-
python3 \
37-
py-setuptools \
3821
# use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150
3922
&& export GNUPGHOME="$(mktemp -d)" \
4023
# gpg keys listed at https://github.com/nodejs/node#release-keys
24+
&& set -ex \
4125
&& for key in \
4226
5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 \
4327
DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 \
@@ -48,9 +32,30 @@ RUN addgroup -g 1000 node \
4832
655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD \
4933
A363A499291CBBC940DD62E41F10027AF002F8B0 \
5034
; do \
51-
{ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || \
52-
{ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; \
35+
{ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || \
36+
{ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; \
5337
done \
38+
&& if [ "$ARCH" = "x64" ]; then \
39+
curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
40+
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
41+
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
42+
&& gpgconf --kill all \
43+
&& rm -rf "$GNUPGHOME" \
44+
&& grep " node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
45+
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
46+
&& rm "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
47+
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
48+
else \
49+
echo "Building from source" \
50+
&& apk add --no-cache --virtual .build-deps-full \
51+
binutils-gold \
52+
g++ \
53+
gcc \
54+
libgcc \
55+
linux-headers \
56+
make \
57+
python3 \
58+
py-setuptools \
5459
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
5560
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
5661
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
@@ -67,7 +72,6 @@ RUN addgroup -g 1000 node \
6772
&& rm -Rf "node-v$NODE_VERSION" \
6873
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
6974
fi \
70-
&& rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
7175
# Remove unused OpenSSL headers to save ~34MB. See this NodeJS issue: https://github.com/nodejs/node/issues/46451
7276
&& find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; \
7377
&& apk del .build-deps \

‎22/alpine3.24/Dockerfile‎

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,23 @@ ENV NODE_VERSION=22.23.3
55
RUN addgroup -g 1000 node \
66
&& adduser -u 1000 -G node -s /bin/sh -D node \
77
&& apk add --no-cache \
8+
libatomic \
89
libstdc++ \
910
&& apk add --no-cache --virtual .build-deps \
11+
gnupg \
1012
curl \
1113
&& ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \
1214
&& case "${alpineArch##*-}" in \
13-
x86_64) ARCH='x64' CHECKSUM="9b177f0c140a82a3d247e8f54586a65dbdf91e5e3a01f04708dabfdc9e0e01c4" OPENSSL_ARCH=linux-x86_64;; \
15+
x86_64) ARCH='x64' OPENSSL_ARCH=linux-x86_64;; \
1416
aarch64) OPENSSL_ARCH=linux-aarch64;; \
1517
arm*) OPENSSL_ARCH=linux-armv4;; \
1618
s390x) OPENSSL_ARCH=linux-s390x;; \
1719
*) echo "unsupported architecture"; exit 1 ;; \
1820
esac \
19-
&& if [ -n "${CHECKSUM}" ]; then \
20-
set -eu; \
21-
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
22-
echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
23-
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
24-
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
25-
else \
26-
echo "Building from source" \
27-
# backup build
28-
&& apk add --no-cache --virtual .build-deps-full \
29-
binutils-gold \
30-
g++ \
31-
gcc \
32-
gnupg \
33-
libgcc \
34-
linux-headers \
35-
make \
36-
python3 \
37-
py-setuptools \
3821
# use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150
3922
&& export GNUPGHOME="$(mktemp -d)" \
4023
# gpg keys listed at https://github.com/nodejs/node#release-keys
24+
&& set -ex \
4125
&& for key in \
4226
5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 \
4327
DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 \
@@ -48,9 +32,30 @@ RUN addgroup -g 1000 node \
4832
655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD \
4933
A363A499291CBBC940DD62E41F10027AF002F8B0 \
5034
; do \
51-
{ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || \
52-
{ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; \
35+
{ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || \
36+
{ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; \
5337
done \
38+
&& if [ "$ARCH" = "x64" ]; then \
39+
curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
40+
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
41+
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
42+
&& gpgconf --kill all \
43+
&& rm -rf "$GNUPGHOME" \
44+
&& grep " node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
45+
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
46+
&& rm "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
47+
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
48+
else \
49+
echo "Building from source" \
50+
&& apk add --no-cache --virtual .build-deps-full \
51+
binutils-gold \
52+
g++ \
53+
gcc \
54+
libgcc \
55+
linux-headers \
56+
make \
57+
python3 \
58+
py-setuptools \
5459
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
5560
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
5661
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
@@ -67,7 +72,6 @@ RUN addgroup -g 1000 node \
6772
&& rm -Rf "node-v$NODE_VERSION" \
6873
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
6974
fi \
70-
&& rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
7175
# Remove unused OpenSSL headers to save ~34MB. See this NodeJS issue: https://github.com/nodejs/node/issues/46451
7276
&& find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; \
7377
&& apk del .build-deps \

‎24/alpine3.23/Dockerfile‎

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,38 +5,22 @@ ENV NODE_VERSION=24.21.0
55
RUN addgroup -g 1000 node \
66
&& adduser -u 1000 -G node -s /bin/sh -D node \
77
&& apk add --no-cache \
8+
libatomic \
89
libstdc++ \
910
&& apk add --no-cache --virtual .build-deps \
11+
gnupg \
1012
curl \
1113
&& ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \
1214
&& case "${alpineArch##*-}" in \
13-
x86_64) ARCH='x64' CHECKSUM="dd5ca647e656c8200c873f45098a16623129c47f2387829f0a15a6de1dac1220" OPENSSL_ARCH=linux-x86_64;; \
15+
x86_64) ARCH='x64' OPENSSL_ARCH=linux-x86_64;; \
1416
aarch64) OPENSSL_ARCH=linux-aarch64;; \
1517
s390x) OPENSSL_ARCH=linux-s390x;; \
1618
*) echo "unsupported architecture"; exit 1 ;; \
1719
esac \
18-
&& if [ -n "${CHECKSUM}" ]; then \
19-
set -eu; \
20-
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
21-
echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
22-
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
23-
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
24-
else \
25-
echo "Building from source" \
26-
# backup build
27-
&& apk add --no-cache --virtual .build-deps-full \
28-
binutils-gold \
29-
g++ \
30-
gcc \
31-
gnupg \
32-
libgcc \
33-
linux-headers \
34-
make \
35-
python3 \
36-
py-setuptools \
3720
# use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150
3821
&& export GNUPGHOME="$(mktemp -d)" \
3922
# gpg keys listed at https://github.com/nodejs/node#release-keys
23+
&& set -ex \
4024
&& for key in \
4125
5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 \
4226
DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 \
@@ -47,9 +31,30 @@ RUN addgroup -g 1000 node \
4731
655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD \
4832
A363A499291CBBC940DD62E41F10027AF002F8B0 \
4933
; do \
50-
{ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || \
51-
{ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; \
34+
{ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || \
35+
{ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; \
5236
done \
37+
&& if [ "$ARCH" = "x64" ]; then \
38+
curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
39+
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
40+
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
41+
&& gpgconf --kill all \
42+
&& rm -rf "$GNUPGHOME" \
43+
&& grep " node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
44+
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
45+
&& rm "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
46+
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
47+
else \
48+
echo "Building from source" \
49+
&& apk add --no-cache --virtual .build-deps-full \
50+
binutils-gold \
51+
g++ \
52+
gcc \
53+
libgcc \
54+
linux-headers \
55+
make \
56+
python3 \
57+
py-setuptools \
5358
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
5459
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
5560
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
@@ -66,7 +71,6 @@ RUN addgroup -g 1000 node \
6671
&& rm -Rf "node-v$NODE_VERSION" \
6772
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
6873
fi \
69-
&& rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
7074
# Remove unused OpenSSL headers to save ~34MB. See this NodeJS issue: https://github.com/nodejs/node/issues/46451
7175
&& find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; \
7276
&& apk del .build-deps \

‎24/alpine3.24/Dockerfile‎

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,38 +5,22 @@ ENV NODE_VERSION=24.21.0
55
RUN addgroup -g 1000 node \
66
&& adduser -u 1000 -G node -s /bin/sh -D node \
77
&& apk add --no-cache \
8+
libatomic \
89
libstdc++ \
910
&& apk add --no-cache --virtual .build-deps \
11+
gnupg \
1012
curl \
1113
&& ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \
1214
&& case "${alpineArch##*-}" in \
13-
x86_64) ARCH='x64' CHECKSUM="dd5ca647e656c8200c873f45098a16623129c47f2387829f0a15a6de1dac1220" OPENSSL_ARCH=linux-x86_64;; \
15+
x86_64) ARCH='x64' OPENSSL_ARCH=linux-x86_64;; \
1416
aarch64) OPENSSL_ARCH=linux-aarch64;; \
1517
s390x) OPENSSL_ARCH=linux-s390x;; \
1618
*) echo "unsupported architecture"; exit 1 ;; \
1719
esac \
18-
&& if [ -n "${CHECKSUM}" ]; then \
19-
set -eu; \
20-
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
21-
echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
22-
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
23-
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
24-
else \
25-
echo "Building from source" \
26-
# backup build
27-
&& apk add --no-cache --virtual .build-deps-full \
28-
binutils-gold \
29-
g++ \
30-
gcc \
31-
gnupg \
32-
libgcc \
33-
linux-headers \
34-
make \
35-
python3 \
36-
py-setuptools \
3720
# use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150
3821
&& export GNUPGHOME="$(mktemp -d)" \
3922
# gpg keys listed at https://github.com/nodejs/node#release-keys
23+
&& set -ex \
4024
&& for key in \
4125
5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 \
4226
DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 \
@@ -47,9 +31,30 @@ RUN addgroup -g 1000 node \
4731
655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD \
4832
A363A499291CBBC940DD62E41F10027AF002F8B0 \
4933
; do \
50-
{ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || \
51-
{ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; \
34+
{ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || \
35+
{ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; \
5236
done \
37+
&& if [ "$ARCH" = "x64" ]; then \
38+
curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
39+
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
40+
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
41+
&& gpgconf --kill all \
42+
&& rm -rf "$GNUPGHOME" \
43+
&& grep " node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
44+
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
45+
&& rm "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
46+
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
47+
else \
48+
echo "Building from source" \
49+
&& apk add --no-cache --virtual .build-deps-full \
50+
binutils-gold \
51+
g++ \
52+
gcc \
53+
libgcc \
54+
linux-headers \
55+
make \
56+
python3 \
57+
py-setuptools \
5358
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
5459
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
5560
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
@@ -66,7 +71,6 @@ RUN addgroup -g 1000 node \
6671
&& rm -Rf "node-v$NODE_VERSION" \
6772
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
6873
fi \
69-
&& rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
7074
# Remove unused OpenSSL headers to save ~34MB. See this NodeJS issue: https://github.com/nodejs/node/issues/46451
7175
&& find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; \
7276
&& apk del .build-deps \

0 commit comments

Comments
 (0)