@@ -2,20 +2,18 @@ FROM alpine:3.9
22
33ENV NODE_VERSION 10.15.3
44
5- RUN addgroup -g 1000 node \
5+ RUN ARCH= && alpineArch="$(arch)" \
6+ && case "${alpineArch##*-}" in \
7+ x86_64) ARCH='x64' ;; \
8+ *) echo "unsupported architecture" ; exit 1 ;; \
9+ esac \
10+ && addgroup -g 1000 node \
611 && adduser -u 1000 -G node -s /bin/sh -D node \
712 && apk add --no-cache \
813 libstdc++ \
914 && apk add --no-cache --virtual .build-deps \
10- binutils-gold \
11- curl \
12- g++ \
13- gcc \
14- gnupg \
15- libgcc \
16- linux-headers \
17- make \
18- python \
15+ curl \
16+ gnupg \
1917 # gpg keys listed at https://github.com/nodejs/node#release-keys
2018 && for key in \
2119 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
@@ -34,6 +32,23 @@ RUN addgroup -g 1000 node \
3432 gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
3533 gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
3634 done \
35+ && ( \
36+ curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
37+ && curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/SHASUMS256.txt" \
38+ && grep " node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz\$ " SHASUMS256.txt | sha256sum -c - \
39+ && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
40+ && rm "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" SHASUMS256.txt \
41+ && ln -s /usr/local/bin/node /usr/local/bin/nodejs \
42+ ) || ( \
43+ # backup build
44+ apk add --no-cache --virtual .build-deps \
45+ binutils-gold \
46+ g++ \
47+ gcc \
48+ libgcc \
49+ linux-headers \
50+ make \
51+ python \
3752 && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
3853 && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
3954 && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
@@ -43,10 +58,11 @@ RUN addgroup -g 1000 node \
4358 && ./configure \
4459 && make -j$(getconf _NPROCESSORS_ONLN) V= \
4560 && make install \
46- && apk del .build-deps \
4761 && cd .. \
4862 && rm -Rf "node-v$NODE_VERSION" \
49- && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
63+ && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
64+ ) \
65+ && apk del .build-deps
5066
5167ENV YARN_VERSION 1.13.0
5268
0 commit comments