Skip to content

Commit 166cd94

Browse files
author
Ubuntu
committed
Add a Dockerfile for ARM
1 parent 4cbbcf6 commit 166cd94

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

Dockerfile.aarch64

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
FROM multiarch/alpine:aarch64-v3.6
2+
3+
ENV NPM_CONFIG_LOGLEVEL info
4+
ENV NODE_VERSION 8.1.4
5+
6+
RUN addgroup -g 1000 node \
7+
&& adduser -u 1000 -G node -s /bin/sh -D node \
8+
&& apk add --no-cache \
9+
libstdc++ \
10+
&& apk add --no-cache --virtual .build-deps \
11+
binutils-gold \
12+
curl \
13+
g++ \
14+
gcc \
15+
gnupg \
16+
libgcc \
17+
linux-headers \
18+
make \
19+
python \
20+
# gpg keys listed at https://github.com/nodejs/node#release-team
21+
&& for key in \
22+
9554F04D7259F04124DE6B476D5A82AC7E37093B \
23+
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
24+
FD3A5288F042B6850C66B31F09FE44734EB7990E \
25+
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
26+
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
27+
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
28+
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
29+
56730D5401028683275BD23C23EFEFE93C4CFFFE \
30+
; do \
31+
gpg --keyserver pgp.mit.edu --recv-keys "$key" || \
32+
gpg --keyserver keyserver.pgp.com --recv-keys "$key" || \
33+
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" ; \
34+
done \
35+
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
36+
&& curl -SLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
37+
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
38+
&& grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
39+
&& tar -xf "node-v$NODE_VERSION.tar.xz" \
40+
&& cd "node-v$NODE_VERSION" \
41+
&& ./configure \
42+
&& make -j$(getconf _NPROCESSORS_ONLN) \
43+
&& make install \
44+
&& apk del .build-deps \
45+
&& cd .. \
46+
&& rm -Rf "node-v$NODE_VERSION" \
47+
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
48+
49+
50+
WORKDIR /root/cf-runtime
51+
52+
RUN apk update
53+
RUN apk add --no-cache bash yarn git openssh-client tini
54+
55+
COPY package.json ./
56+
57+
COPY yarn.lock ./
58+
59+
# install cf-runtime required binaries
60+
RUN apk add --no-cache --virtual deps python make g++ && \
61+
yarn install --frozen-lockfile --production && \
62+
yarn cache clean && \
63+
apk del deps && \
64+
rm -rf /tmp/*
65+
66+
# copy app files
67+
COPY . ./
68+
69+
# Set tini as entrypoint
70+
ENTRYPOINT ["/sbin/tini", "--"]
71+
72+
CMD ["node", "node_modules/.bin/forever", "--minUptime", "1", "--spinSleepTime", "1000", "-c", "node", "lib/index.js"]

0 commit comments

Comments
 (0)