Merge pull request #1701 from nschonni/node-12-eol
feat: Drop Node 12 for EOL 2022-04-30
This commit is contained in:
commit
494c3c3775
|
@ -1,99 +0,0 @@
|
||||||
FROM alpine:3.14
|
|
||||||
|
|
||||||
ENV NODE_VERSION 12.22.12
|
|
||||||
|
|
||||||
RUN addgroup -g 1000 node \
|
|
||||||
&& adduser -u 1000 -G node -s /bin/sh -D node \
|
|
||||||
&& apk add --no-cache \
|
|
||||||
libstdc++ \
|
|
||||||
&& apk add --no-cache --virtual .build-deps \
|
|
||||||
curl \
|
|
||||||
&& ARCH= && alpineArch="$(apk --print-arch)" \
|
|
||||||
&& case "${alpineArch##*-}" in \
|
|
||||||
x86_64) \
|
|
||||||
ARCH='x64' \
|
|
||||||
CHECKSUM="e5eb941bd3d5b7ab197e27c353049e6e8fd03d39c4949ea393f5af4ba8ef020a" \
|
|
||||||
;; \
|
|
||||||
*) ;; \
|
|
||||||
esac \
|
|
||||||
&& if [ -n "${CHECKSUM}" ]; then \
|
|
||||||
set -eu; \
|
|
||||||
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
|
|
||||||
echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
|
|
||||||
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
|
|
||||||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
|
|
||||||
else \
|
|
||||||
echo "Building from source" \
|
|
||||||
# backup build
|
|
||||||
&& apk add --no-cache --virtual .build-deps-full \
|
|
||||||
binutils-gold \
|
|
||||||
g++ \
|
|
||||||
gcc \
|
|
||||||
gnupg \
|
|
||||||
libgcc \
|
|
||||||
linux-headers \
|
|
||||||
make \
|
|
||||||
python2 \
|
|
||||||
# gpg keys listed at https://github.com/nodejs/node#release-keys
|
|
||||||
&& for key in \
|
|
||||||
4ED778F539E3634C779C87C6D7062848A1AB005C \
|
|
||||||
141F07595B7B3FFE74309A937405533BE57C7D57 \
|
|
||||||
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
|
|
||||||
74F12602B6F1C4E913FAA37AD3A89613643B6201 \
|
|
||||||
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
|
|
||||||
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
|
|
||||||
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
|
|
||||||
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
|
|
||||||
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
|
|
||||||
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
|
|
||||||
108F52B48DB57BB0CC439B2997B01419BD92F80A \
|
|
||||||
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
|
|
||||||
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
|
|
||||||
&& grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
|
|
||||||
&& tar -xf "node-v$NODE_VERSION.tar.xz" \
|
|
||||||
&& cd "node-v$NODE_VERSION" \
|
|
||||||
&& ./configure \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) V= \
|
|
||||||
&& make install \
|
|
||||||
&& apk del .build-deps-full \
|
|
||||||
&& cd .. \
|
|
||||||
&& rm -Rf "node-v$NODE_VERSION" \
|
|
||||||
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
|
|
||||||
fi \
|
|
||||||
&& rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
|
|
||||||
&& apk del .build-deps \
|
|
||||||
# smoke tests
|
|
||||||
&& node --version \
|
|
||||||
&& npm --version
|
|
||||||
|
|
||||||
ENV YARN_VERSION 1.22.18
|
|
||||||
|
|
||||||
RUN apk add --no-cache --virtual .build-deps-yarn curl gnupg tar \
|
|
||||||
&& for key in \
|
|
||||||
6A010C5166006599AA17F08146C2130DFD2497F5 \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
|
|
||||||
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& mkdir -p /opt \
|
|
||||||
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
|
|
||||||
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& apk del .build-deps-yarn \
|
|
||||||
# smoke test
|
|
||||||
&& yarn --version
|
|
||||||
|
|
||||||
COPY docker-entrypoint.sh /usr/local/bin/
|
|
||||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
||||||
|
|
||||||
CMD [ "node" ]
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Run command with node if the first argument contains a "-" or is not a system command. The last
|
|
||||||
# part inside the "{}" is a workaround for the following bug in ash/dash:
|
|
||||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874264
|
|
||||||
if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ] || { [ -f "${1}" ] && ! [ -x "${1}" ]; }; then
|
|
||||||
set -- node "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$@"
|
|
|
@ -1,99 +0,0 @@
|
||||||
FROM alpine:3.15
|
|
||||||
|
|
||||||
ENV NODE_VERSION 12.22.12
|
|
||||||
|
|
||||||
RUN addgroup -g 1000 node \
|
|
||||||
&& adduser -u 1000 -G node -s /bin/sh -D node \
|
|
||||||
&& apk add --no-cache \
|
|
||||||
libstdc++ \
|
|
||||||
&& apk add --no-cache --virtual .build-deps \
|
|
||||||
curl \
|
|
||||||
&& ARCH= && alpineArch="$(apk --print-arch)" \
|
|
||||||
&& case "${alpineArch##*-}" in \
|
|
||||||
x86_64) \
|
|
||||||
ARCH='x64' \
|
|
||||||
CHECKSUM="e5eb941bd3d5b7ab197e27c353049e6e8fd03d39c4949ea393f5af4ba8ef020a" \
|
|
||||||
;; \
|
|
||||||
*) ;; \
|
|
||||||
esac \
|
|
||||||
&& if [ -n "${CHECKSUM}" ]; then \
|
|
||||||
set -eu; \
|
|
||||||
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
|
|
||||||
echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
|
|
||||||
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
|
|
||||||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
|
|
||||||
else \
|
|
||||||
echo "Building from source" \
|
|
||||||
# backup build
|
|
||||||
&& apk add --no-cache --virtual .build-deps-full \
|
|
||||||
binutils-gold \
|
|
||||||
g++ \
|
|
||||||
gcc \
|
|
||||||
gnupg \
|
|
||||||
libgcc \
|
|
||||||
linux-headers \
|
|
||||||
make \
|
|
||||||
python2 \
|
|
||||||
# gpg keys listed at https://github.com/nodejs/node#release-keys
|
|
||||||
&& for key in \
|
|
||||||
4ED778F539E3634C779C87C6D7062848A1AB005C \
|
|
||||||
141F07595B7B3FFE74309A937405533BE57C7D57 \
|
|
||||||
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
|
|
||||||
74F12602B6F1C4E913FAA37AD3A89613643B6201 \
|
|
||||||
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
|
|
||||||
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
|
|
||||||
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
|
|
||||||
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
|
|
||||||
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
|
|
||||||
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
|
|
||||||
108F52B48DB57BB0CC439B2997B01419BD92F80A \
|
|
||||||
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
|
|
||||||
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
|
|
||||||
&& grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
|
|
||||||
&& tar -xf "node-v$NODE_VERSION.tar.xz" \
|
|
||||||
&& cd "node-v$NODE_VERSION" \
|
|
||||||
&& ./configure \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) V= \
|
|
||||||
&& make install \
|
|
||||||
&& apk del .build-deps-full \
|
|
||||||
&& cd .. \
|
|
||||||
&& rm -Rf "node-v$NODE_VERSION" \
|
|
||||||
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
|
|
||||||
fi \
|
|
||||||
&& rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
|
|
||||||
&& apk del .build-deps \
|
|
||||||
# smoke tests
|
|
||||||
&& node --version \
|
|
||||||
&& npm --version
|
|
||||||
|
|
||||||
ENV YARN_VERSION 1.22.18
|
|
||||||
|
|
||||||
RUN apk add --no-cache --virtual .build-deps-yarn curl gnupg tar \
|
|
||||||
&& for key in \
|
|
||||||
6A010C5166006599AA17F08146C2130DFD2497F5 \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
|
|
||||||
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& mkdir -p /opt \
|
|
||||||
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
|
|
||||||
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& apk del .build-deps-yarn \
|
|
||||||
# smoke test
|
|
||||||
&& yarn --version
|
|
||||||
|
|
||||||
COPY docker-entrypoint.sh /usr/local/bin/
|
|
||||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
||||||
|
|
||||||
CMD [ "node" ]
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Run command with node if the first argument contains a "-" or is not a system command. The last
|
|
||||||
# part inside the "{}" is a workaround for the following bug in ash/dash:
|
|
||||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874264
|
|
||||||
if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ] || { [ -f "${1}" ] && ! [ -x "${1}" ]; }; then
|
|
||||||
set -- node "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$@"
|
|
|
@ -1,95 +0,0 @@
|
||||||
FROM debian:bullseye-slim
|
|
||||||
|
|
||||||
RUN groupadd --gid 1000 node \
|
|
||||||
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
|
|
||||||
|
|
||||||
ENV NODE_VERSION 12.22.12
|
|
||||||
|
|
||||||
RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
|
|
||||||
&& case "${dpkgArch##*-}" in \
|
|
||||||
amd64) ARCH='x64';; \
|
|
||||||
ppc64el) ARCH='ppc64le';; \
|
|
||||||
s390x) ARCH='s390x';; \
|
|
||||||
arm64) ARCH='arm64';; \
|
|
||||||
armhf) ARCH='armv7l';; \
|
|
||||||
i386) ARCH='x86';; \
|
|
||||||
*) echo "unsupported architecture"; exit 1 ;; \
|
|
||||||
esac \
|
|
||||||
&& set -ex \
|
|
||||||
# libatomic1 for arm
|
|
||||||
&& apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr xz-utils libatomic1 --no-install-recommends \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
&& for key in \
|
|
||||||
4ED778F539E3634C779C87C6D7062848A1AB005C \
|
|
||||||
141F07595B7B3FFE74309A937405533BE57C7D57 \
|
|
||||||
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
|
|
||||||
74F12602B6F1C4E913FAA37AD3A89613643B6201 \
|
|
||||||
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
|
|
||||||
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
|
|
||||||
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
|
|
||||||
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
|
|
||||||
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
|
|
||||||
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
|
|
||||||
108F52B48DB57BB0CC439B2997B01419BD92F80A \
|
|
||||||
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
|
|
||||||
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
|
|
||||||
&& grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
|
|
||||||
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
|
|
||||||
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
|
|
||||||
&& apt-mark auto '.*' > /dev/null \
|
|
||||||
&& find /usr/local -type f -executable -exec ldd '{}' ';' \
|
|
||||||
| awk '/=>/ { print $(NF-1) }' \
|
|
||||||
| sort -u \
|
|
||||||
| xargs -r dpkg-query --search \
|
|
||||||
| cut -d: -f1 \
|
|
||||||
| sort -u \
|
|
||||||
| xargs -r apt-mark manual \
|
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
|
||||||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
|
|
||||||
# smoke tests
|
|
||||||
&& node --version \
|
|
||||||
&& npm --version
|
|
||||||
|
|
||||||
ENV YARN_VERSION 1.22.18
|
|
||||||
|
|
||||||
RUN set -ex \
|
|
||||||
&& savedAptMark="$(apt-mark showmanual)" \
|
|
||||||
&& apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr --no-install-recommends \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
&& for key in \
|
|
||||||
6A010C5166006599AA17F08146C2130DFD2497F5 \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
|
|
||||||
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& mkdir -p /opt \
|
|
||||||
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
|
|
||||||
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& apt-mark auto '.*' > /dev/null \
|
|
||||||
&& { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; } \
|
|
||||||
&& find /usr/local -type f -executable -exec ldd '{}' ';' \
|
|
||||||
| awk '/=>/ { print $(NF-1) }' \
|
|
||||||
| sort -u \
|
|
||||||
| xargs -r dpkg-query --search \
|
|
||||||
| cut -d: -f1 \
|
|
||||||
| sort -u \
|
|
||||||
| xargs -r apt-mark manual \
|
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
|
||||||
# smoke test
|
|
||||||
&& yarn --version
|
|
||||||
|
|
||||||
COPY docker-entrypoint.sh /usr/local/bin/
|
|
||||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
||||||
|
|
||||||
CMD [ "node" ]
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Run command with node if the first argument contains a "-" or is not a system command. The last
|
|
||||||
# part inside the "{}" is a workaround for the following bug in ash/dash:
|
|
||||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874264
|
|
||||||
if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ] || { [ -f "${1}" ] && ! [ -x "${1}" ]; }; then
|
|
||||||
set -- node "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$@"
|
|
|
@ -1,71 +0,0 @@
|
||||||
FROM buildpack-deps:bullseye
|
|
||||||
|
|
||||||
RUN groupadd --gid 1000 node \
|
|
||||||
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
|
|
||||||
|
|
||||||
ENV NODE_VERSION 12.22.12
|
|
||||||
|
|
||||||
RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
|
|
||||||
&& case "${dpkgArch##*-}" in \
|
|
||||||
amd64) ARCH='x64';; \
|
|
||||||
ppc64el) ARCH='ppc64le';; \
|
|
||||||
s390x) ARCH='s390x';; \
|
|
||||||
arm64) ARCH='arm64';; \
|
|
||||||
armhf) ARCH='armv7l';; \
|
|
||||||
i386) ARCH='x86';; \
|
|
||||||
*) echo "unsupported architecture"; exit 1 ;; \
|
|
||||||
esac \
|
|
||||||
# gpg keys listed at https://github.com/nodejs/node#release-keys
|
|
||||||
&& set -ex \
|
|
||||||
&& for key in \
|
|
||||||
4ED778F539E3634C779C87C6D7062848A1AB005C \
|
|
||||||
141F07595B7B3FFE74309A937405533BE57C7D57 \
|
|
||||||
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
|
|
||||||
74F12602B6F1C4E913FAA37AD3A89613643B6201 \
|
|
||||||
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
|
|
||||||
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
|
|
||||||
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
|
|
||||||
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
|
|
||||||
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
|
|
||||||
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
|
|
||||||
108F52B48DB57BB0CC439B2997B01419BD92F80A \
|
|
||||||
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
|
|
||||||
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
|
|
||||||
&& grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
|
|
||||||
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
|
|
||||||
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
|
|
||||||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
|
|
||||||
# smoke tests
|
|
||||||
&& node --version \
|
|
||||||
&& npm --version
|
|
||||||
|
|
||||||
ENV YARN_VERSION 1.22.18
|
|
||||||
|
|
||||||
RUN set -ex \
|
|
||||||
&& for key in \
|
|
||||||
6A010C5166006599AA17F08146C2130DFD2497F5 \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
|
|
||||||
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& mkdir -p /opt \
|
|
||||||
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
|
|
||||||
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
# smoke test
|
|
||||||
&& yarn --version
|
|
||||||
|
|
||||||
COPY docker-entrypoint.sh /usr/local/bin/
|
|
||||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
||||||
|
|
||||||
CMD [ "node" ]
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Run command with node if the first argument contains a "-" or is not a system command. The last
|
|
||||||
# part inside the "{}" is a workaround for the following bug in ash/dash:
|
|
||||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874264
|
|
||||||
if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ] || { [ -f "${1}" ] && ! [ -x "${1}" ]; }; then
|
|
||||||
set -- node "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$@"
|
|
|
@ -1,95 +0,0 @@
|
||||||
FROM debian:buster-slim
|
|
||||||
|
|
||||||
RUN groupadd --gid 1000 node \
|
|
||||||
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
|
|
||||||
|
|
||||||
ENV NODE_VERSION 12.22.12
|
|
||||||
|
|
||||||
RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
|
|
||||||
&& case "${dpkgArch##*-}" in \
|
|
||||||
amd64) ARCH='x64';; \
|
|
||||||
ppc64el) ARCH='ppc64le';; \
|
|
||||||
s390x) ARCH='s390x';; \
|
|
||||||
arm64) ARCH='arm64';; \
|
|
||||||
armhf) ARCH='armv7l';; \
|
|
||||||
i386) ARCH='x86';; \
|
|
||||||
*) echo "unsupported architecture"; exit 1 ;; \
|
|
||||||
esac \
|
|
||||||
&& set -ex \
|
|
||||||
# libatomic1 for arm
|
|
||||||
&& apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr xz-utils libatomic1 --no-install-recommends \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
&& for key in \
|
|
||||||
4ED778F539E3634C779C87C6D7062848A1AB005C \
|
|
||||||
141F07595B7B3FFE74309A937405533BE57C7D57 \
|
|
||||||
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
|
|
||||||
74F12602B6F1C4E913FAA37AD3A89613643B6201 \
|
|
||||||
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
|
|
||||||
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
|
|
||||||
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
|
|
||||||
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
|
|
||||||
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
|
|
||||||
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
|
|
||||||
108F52B48DB57BB0CC439B2997B01419BD92F80A \
|
|
||||||
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
|
|
||||||
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
|
|
||||||
&& grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
|
|
||||||
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
|
|
||||||
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
|
|
||||||
&& apt-mark auto '.*' > /dev/null \
|
|
||||||
&& find /usr/local -type f -executable -exec ldd '{}' ';' \
|
|
||||||
| awk '/=>/ { print $(NF-1) }' \
|
|
||||||
| sort -u \
|
|
||||||
| xargs -r dpkg-query --search \
|
|
||||||
| cut -d: -f1 \
|
|
||||||
| sort -u \
|
|
||||||
| xargs -r apt-mark manual \
|
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
|
||||||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
|
|
||||||
# smoke tests
|
|
||||||
&& node --version \
|
|
||||||
&& npm --version
|
|
||||||
|
|
||||||
ENV YARN_VERSION 1.22.18
|
|
||||||
|
|
||||||
RUN set -ex \
|
|
||||||
&& savedAptMark="$(apt-mark showmanual)" \
|
|
||||||
&& apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr --no-install-recommends \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
&& for key in \
|
|
||||||
6A010C5166006599AA17F08146C2130DFD2497F5 \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
|
|
||||||
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& mkdir -p /opt \
|
|
||||||
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
|
|
||||||
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& apt-mark auto '.*' > /dev/null \
|
|
||||||
&& { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; } \
|
|
||||||
&& find /usr/local -type f -executable -exec ldd '{}' ';' \
|
|
||||||
| awk '/=>/ { print $(NF-1) }' \
|
|
||||||
| sort -u \
|
|
||||||
| xargs -r dpkg-query --search \
|
|
||||||
| cut -d: -f1 \
|
|
||||||
| sort -u \
|
|
||||||
| xargs -r apt-mark manual \
|
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
|
||||||
# smoke test
|
|
||||||
&& yarn --version
|
|
||||||
|
|
||||||
COPY docker-entrypoint.sh /usr/local/bin/
|
|
||||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
||||||
|
|
||||||
CMD [ "node" ]
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Run command with node if the first argument contains a "-" or is not a system command. The last
|
|
||||||
# part inside the "{}" is a workaround for the following bug in ash/dash:
|
|
||||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874264
|
|
||||||
if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ] || { [ -f "${1}" ] && ! [ -x "${1}" ]; }; then
|
|
||||||
set -- node "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$@"
|
|
|
@ -1,71 +0,0 @@
|
||||||
FROM buildpack-deps:buster
|
|
||||||
|
|
||||||
RUN groupadd --gid 1000 node \
|
|
||||||
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
|
|
||||||
|
|
||||||
ENV NODE_VERSION 12.22.12
|
|
||||||
|
|
||||||
RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
|
|
||||||
&& case "${dpkgArch##*-}" in \
|
|
||||||
amd64) ARCH='x64';; \
|
|
||||||
ppc64el) ARCH='ppc64le';; \
|
|
||||||
s390x) ARCH='s390x';; \
|
|
||||||
arm64) ARCH='arm64';; \
|
|
||||||
armhf) ARCH='armv7l';; \
|
|
||||||
i386) ARCH='x86';; \
|
|
||||||
*) echo "unsupported architecture"; exit 1 ;; \
|
|
||||||
esac \
|
|
||||||
# gpg keys listed at https://github.com/nodejs/node#release-keys
|
|
||||||
&& set -ex \
|
|
||||||
&& for key in \
|
|
||||||
4ED778F539E3634C779C87C6D7062848A1AB005C \
|
|
||||||
141F07595B7B3FFE74309A937405533BE57C7D57 \
|
|
||||||
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
|
|
||||||
74F12602B6F1C4E913FAA37AD3A89613643B6201 \
|
|
||||||
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
|
|
||||||
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
|
|
||||||
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
|
|
||||||
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
|
|
||||||
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
|
|
||||||
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
|
|
||||||
108F52B48DB57BB0CC439B2997B01419BD92F80A \
|
|
||||||
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
|
|
||||||
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
|
|
||||||
&& grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
|
|
||||||
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
|
|
||||||
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
|
|
||||||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
|
|
||||||
# smoke tests
|
|
||||||
&& node --version \
|
|
||||||
&& npm --version
|
|
||||||
|
|
||||||
ENV YARN_VERSION 1.22.18
|
|
||||||
|
|
||||||
RUN set -ex \
|
|
||||||
&& for key in \
|
|
||||||
6A010C5166006599AA17F08146C2130DFD2497F5 \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
|
|
||||||
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& mkdir -p /opt \
|
|
||||||
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
|
|
||||||
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
# smoke test
|
|
||||||
&& yarn --version
|
|
||||||
|
|
||||||
COPY docker-entrypoint.sh /usr/local/bin/
|
|
||||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
||||||
|
|
||||||
CMD [ "node" ]
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Run command with node if the first argument contains a "-" or is not a system command. The last
|
|
||||||
# part inside the "{}" is a workaround for the following bug in ash/dash:
|
|
||||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874264
|
|
||||||
if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ] || { [ -f "${1}" ] && ! [ -x "${1}" ]; }; then
|
|
||||||
set -- node "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$@"
|
|
|
@ -1,95 +0,0 @@
|
||||||
FROM debian:stretch-slim
|
|
||||||
|
|
||||||
RUN groupadd --gid 1000 node \
|
|
||||||
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
|
|
||||||
|
|
||||||
ENV NODE_VERSION 12.22.12
|
|
||||||
|
|
||||||
RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
|
|
||||||
&& case "${dpkgArch##*-}" in \
|
|
||||||
amd64) ARCH='x64';; \
|
|
||||||
ppc64el) ARCH='ppc64le';; \
|
|
||||||
s390x) ARCH='s390x';; \
|
|
||||||
arm64) ARCH='arm64';; \
|
|
||||||
armhf) ARCH='armv7l';; \
|
|
||||||
i386) ARCH='x86';; \
|
|
||||||
*) echo "unsupported architecture"; exit 1 ;; \
|
|
||||||
esac \
|
|
||||||
&& set -ex \
|
|
||||||
# libatomic1 for arm
|
|
||||||
&& apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr xz-utils libatomic1 --no-install-recommends \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
&& for key in \
|
|
||||||
4ED778F539E3634C779C87C6D7062848A1AB005C \
|
|
||||||
141F07595B7B3FFE74309A937405533BE57C7D57 \
|
|
||||||
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
|
|
||||||
74F12602B6F1C4E913FAA37AD3A89613643B6201 \
|
|
||||||
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
|
|
||||||
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
|
|
||||||
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
|
|
||||||
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
|
|
||||||
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
|
|
||||||
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
|
|
||||||
108F52B48DB57BB0CC439B2997B01419BD92F80A \
|
|
||||||
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
|
|
||||||
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
|
|
||||||
&& grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
|
|
||||||
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
|
|
||||||
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
|
|
||||||
&& apt-mark auto '.*' > /dev/null \
|
|
||||||
&& find /usr/local -type f -executable -exec ldd '{}' ';' \
|
|
||||||
| awk '/=>/ { print $(NF-1) }' \
|
|
||||||
| sort -u \
|
|
||||||
| xargs -r dpkg-query --search \
|
|
||||||
| cut -d: -f1 \
|
|
||||||
| sort -u \
|
|
||||||
| xargs -r apt-mark manual \
|
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
|
||||||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
|
|
||||||
# smoke tests
|
|
||||||
&& node --version \
|
|
||||||
&& npm --version
|
|
||||||
|
|
||||||
ENV YARN_VERSION 1.22.18
|
|
||||||
|
|
||||||
RUN set -ex \
|
|
||||||
&& savedAptMark="$(apt-mark showmanual)" \
|
|
||||||
&& apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr --no-install-recommends \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
&& for key in \
|
|
||||||
6A010C5166006599AA17F08146C2130DFD2497F5 \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
|
|
||||||
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& mkdir -p /opt \
|
|
||||||
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
|
|
||||||
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& apt-mark auto '.*' > /dev/null \
|
|
||||||
&& { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; } \
|
|
||||||
&& find /usr/local -type f -executable -exec ldd '{}' ';' \
|
|
||||||
| awk '/=>/ { print $(NF-1) }' \
|
|
||||||
| sort -u \
|
|
||||||
| xargs -r dpkg-query --search \
|
|
||||||
| cut -d: -f1 \
|
|
||||||
| sort -u \
|
|
||||||
| xargs -r apt-mark manual \
|
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
|
||||||
# smoke test
|
|
||||||
&& yarn --version
|
|
||||||
|
|
||||||
COPY docker-entrypoint.sh /usr/local/bin/
|
|
||||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
||||||
|
|
||||||
CMD [ "node" ]
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Run command with node if the first argument contains a "-" or is not a system command. The last
|
|
||||||
# part inside the "{}" is a workaround for the following bug in ash/dash:
|
|
||||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874264
|
|
||||||
if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ] || { [ -f "${1}" ] && ! [ -x "${1}" ]; }; then
|
|
||||||
set -- node "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$@"
|
|
|
@ -1,71 +0,0 @@
|
||||||
FROM buildpack-deps:stretch
|
|
||||||
|
|
||||||
RUN groupadd --gid 1000 node \
|
|
||||||
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
|
|
||||||
|
|
||||||
ENV NODE_VERSION 12.22.12
|
|
||||||
|
|
||||||
RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
|
|
||||||
&& case "${dpkgArch##*-}" in \
|
|
||||||
amd64) ARCH='x64';; \
|
|
||||||
ppc64el) ARCH='ppc64le';; \
|
|
||||||
s390x) ARCH='s390x';; \
|
|
||||||
arm64) ARCH='arm64';; \
|
|
||||||
armhf) ARCH='armv7l';; \
|
|
||||||
i386) ARCH='x86';; \
|
|
||||||
*) echo "unsupported architecture"; exit 1 ;; \
|
|
||||||
esac \
|
|
||||||
# gpg keys listed at https://github.com/nodejs/node#release-keys
|
|
||||||
&& set -ex \
|
|
||||||
&& for key in \
|
|
||||||
4ED778F539E3634C779C87C6D7062848A1AB005C \
|
|
||||||
141F07595B7B3FFE74309A937405533BE57C7D57 \
|
|
||||||
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
|
|
||||||
74F12602B6F1C4E913FAA37AD3A89613643B6201 \
|
|
||||||
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
|
|
||||||
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
|
|
||||||
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
|
|
||||||
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
|
|
||||||
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
|
|
||||||
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
|
|
||||||
108F52B48DB57BB0CC439B2997B01419BD92F80A \
|
|
||||||
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
|
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
|
|
||||||
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
|
|
||||||
&& grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
|
|
||||||
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
|
|
||||||
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
|
|
||||||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
|
|
||||||
# smoke tests
|
|
||||||
&& node --version \
|
|
||||||
&& npm --version
|
|
||||||
|
|
||||||
ENV YARN_VERSION 1.22.18
|
|
||||||
|
|
||||||
RUN set -ex \
|
|
||||||
&& for key in \
|
|
||||||
6A010C5166006599AA17F08146C2130DFD2497F5 \
|
|
||||||
; do \
|
|
||||||
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
|
|
||||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
|
|
||||||
done \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
|
|
||||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
|
|
||||||
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
&& mkdir -p /opt \
|
|
||||||
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
|
|
||||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
|
|
||||||
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
|
||||||
# smoke test
|
|
||||||
&& yarn --version
|
|
||||||
|
|
||||||
COPY docker-entrypoint.sh /usr/local/bin/
|
|
||||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
||||||
|
|
||||||
CMD [ "node" ]
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Run command with node if the first argument contains a "-" or is not a system command. The last
|
|
||||||
# part inside the "{}" is a workaround for the following bug in ash/dash:
|
|
||||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874264
|
|
||||||
if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ] || { [ -f "${1}" ] && ! [ -x "${1}" ]; }; then
|
|
||||||
set -- node "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$@"
|
|
|
@ -33,7 +33,7 @@ RUN addgroup -g 1000 node \
|
||||||
libgcc \
|
libgcc \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
make \
|
make \
|
||||||
${PYTHON_VERSION} \
|
python3 \
|
||||||
# gpg keys listed at https://github.com/nodejs/node#release-keys
|
# gpg keys listed at https://github.com/nodejs/node#release-keys
|
||||||
&& for key in \
|
&& for key in \
|
||||||
"${NODE_KEYS[@]}"
|
"${NODE_KEYS[@]}"
|
||||||
|
|
|
@ -163,14 +163,6 @@ function update_node_version() {
|
||||||
sed -Ei -e "s/(alpine:)0.0/\\1${alpine_version}/" "${dockerfile}-tmp"
|
sed -Ei -e "s/(alpine:)0.0/\\1${alpine_version}/" "${dockerfile}-tmp"
|
||||||
sed -Ei -e "s/CHECKSUM=CHECKSUM_x64/CHECKSUM=\"${checksum}\"/" "${dockerfile}-tmp"
|
sed -Ei -e "s/CHECKSUM=CHECKSUM_x64/CHECKSUM=\"${checksum}\"/" "${dockerfile}-tmp"
|
||||||
|
|
||||||
# Use python2 for nodejs < 14 on alpine
|
|
||||||
if [ "$version" -lt 14 ]; then
|
|
||||||
pythonVersion="python2"
|
|
||||||
else
|
|
||||||
pythonVersion="python3"
|
|
||||||
fi
|
|
||||||
|
|
||||||
sed -Ei -e 's/\$\{PYTHON_VERSION\}/'"${pythonVersion}"'/' "${dockerfile}-tmp"
|
|
||||||
elif is_debian "${variant}"; then
|
elif is_debian "${variant}"; then
|
||||||
sed -Ei -e "s/(buildpack-deps:)name/\\1${variant}/" "${dockerfile}-tmp"
|
sed -Ei -e "s/(buildpack-deps:)name/\\1${variant}/" "${dockerfile}-tmp"
|
||||||
elif is_debian_slim "${variant}"; then
|
elif is_debian_slim "${variant}"; then
|
||||||
|
|
|
@ -248,70 +248,5 @@
|
||||||
"arm64v8"
|
"arm64v8"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"12": {
|
|
||||||
"start": "2019-04-23",
|
|
||||||
"lts": "2019-10-21",
|
|
||||||
"maintenance": "2020-11-30",
|
|
||||||
"end": "2022-04-30",
|
|
||||||
"codename": "erbium",
|
|
||||||
"alpine-default": "alpine3.15",
|
|
||||||
"debian-default": "stretch",
|
|
||||||
"variants": {
|
|
||||||
"alpine3.14": [
|
|
||||||
"amd64",
|
|
||||||
"arm32v6",
|
|
||||||
"arm32v7",
|
|
||||||
"arm64v8",
|
|
||||||
"ppc64le",
|
|
||||||
"s390x"
|
|
||||||
],
|
|
||||||
"alpine3.15": [
|
|
||||||
"amd64",
|
|
||||||
"arm32v6",
|
|
||||||
"arm32v7",
|
|
||||||
"arm64v8",
|
|
||||||
"ppc64le",
|
|
||||||
"s390x"
|
|
||||||
],
|
|
||||||
"bullseye": [
|
|
||||||
"amd64",
|
|
||||||
"arm32v7",
|
|
||||||
"arm64v8",
|
|
||||||
"ppc64le",
|
|
||||||
"s390x"
|
|
||||||
],
|
|
||||||
"bullseye-slim": [
|
|
||||||
"amd64",
|
|
||||||
"arm32v7",
|
|
||||||
"arm64v8",
|
|
||||||
"ppc64le",
|
|
||||||
"s390x"
|
|
||||||
],
|
|
||||||
"buster": [
|
|
||||||
"amd64",
|
|
||||||
"arm32v7",
|
|
||||||
"arm64v8",
|
|
||||||
"ppc64le",
|
|
||||||
"s390x"
|
|
||||||
],
|
|
||||||
"buster-slim": [
|
|
||||||
"amd64",
|
|
||||||
"arm32v7",
|
|
||||||
"arm64v8",
|
|
||||||
"ppc64le",
|
|
||||||
"s390x"
|
|
||||||
],
|
|
||||||
"stretch": [
|
|
||||||
"amd64",
|
|
||||||
"arm32v7",
|
|
||||||
"arm64v8"
|
|
||||||
],
|
|
||||||
"stretch-slim": [
|
|
||||||
"amd64",
|
|
||||||
"arm32v7",
|
|
||||||
"arm64v8"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue