Skip to content

Commit 5ef14e2

Browse files
committed
initial commit
0 parents  commit 5ef14e2

2 files changed

Lines changed: 93 additions & 0 deletions

File tree

Dockerfile

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
FROM buildpack-deps:jessie
2+
3+
USER root
4+
5+
ENV DUMB_VERSION 1.2.0
6+
7+
RUN apt-get update -qqy \
8+
&& apt-get -qqy install \
9+
apt-transport-https \
10+
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
11+
&& wget https://github.com/Yelp/dumb-init/releases/download/v"$DUMB_VERSION"/dumb-init_"$DUMB_VERSION"_amd64.deb \
12+
&& dpkg -i dumb-init_*.deb \
13+
&& rm dumb-init_*.deb
14+
15+
ENV NODE_VERSION 12.6.0
16+
17+
# install node.js
18+
RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
19+
&& case "${dpkgArch##*-}" in \
20+
amd64) ARCH='x64';; \
21+
ppc64el) ARCH='ppc64le';; \
22+
s390x) ARCH='s390x';; \
23+
arm64) ARCH='arm64';; \
24+
*) echo "unsupported architecture"; exit 1 ;; \
25+
esac \
26+
# gpg keys listed at https://github.com/nodejs/node#release-team
27+
&& for key in \
28+
4ED778F539E3634C779C87C6D7062848A1AB005C \
29+
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
30+
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
31+
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
32+
77984A986EBC2AA786BC0F66B01FBB92821C587A \
33+
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
34+
FD3A5288F042B6850C66B31F09FE44734EB7990E \
35+
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
36+
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
37+
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
38+
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
39+
; do \
40+
gpg --keyserver pgp.mit.edu --recv-keys "$key" || \
41+
gpg --keyserver keyserver.pgp.com --recv-keys "$key" || \
42+
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" ; \
43+
done \
44+
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
45+
&& curl -SLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
46+
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
47+
&& grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
48+
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 \
49+
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
50+
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs
51+
52+
# install yarn
53+
ENV YARN_VERSION 1.3.2
54+
55+
RUN for key in \
56+
6A010C5166006599AA17F08146C2130DFD2497F5 \
57+
; do \
58+
gpg --keyserver pgp.mit.edu --recv-keys "$key" || \
59+
gpg --keyserver keyserver.pgp.com --recv-keys "$key" || \
60+
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" ; \
61+
done \
62+
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
63+
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
64+
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
65+
&& mkdir -p /opt/yarn \
66+
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/yarn --strip-components=1 \
67+
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn \
68+
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarnpkg \
69+
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz
70+
71+
72+
# Install Chrome
73+
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
74+
&& echo "deb https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \
75+
&& apt-get update -y \
76+
&& apt-get -y install \
77+
google-chrome-stable --no-install-recommends \
78+
&& rm /etc/apt/sources.list.d/google-chrome.list \
79+
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
80+
81+
RUN groupadd --gid 1000 node \
82+
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
83+
84+
USER node
85+
86+
ENTRYPOINT ["dumb-init", "--"]

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Docker node chrome
2+
3+
Docker image with node and chrome headless
4+
5+
Node version : 12.6.0
6+
7+
Chrome version : latest

0 commit comments

Comments
 (0)