UNPKG

1.04 kBPlain TextView Raw
1FROM node:12-alpine
2
3# Installs latest Chromium (63) package.
4RUN apk update && apk upgrade && \
5 echo @edge http://nl.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories && \
6 echo @edge http://nl.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories && \
7 apk add --no-cache \
8 chromium@edge \
9 nss@edge \
10 freetype@edge \
11 freetype-dev@edge \
12 harfbuzz@edge \
13 ca-certificates@edge \
14 ttf-freefont@edge
15
16# Tell Puppeteer to skip installing Chrome. We'll be using the installed package.
17ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
18 PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
19
20RUN npm install puppeteer
21
22COPY . /app/
23
24# Add user so we don't need --no-sandbox.
25RUN addgroup -S pptruser && adduser -S -g pptruser pptruser \
26 && mkdir -p /home/pptruser/Downloads /app \
27 && chown -R pptruser:pptruser /home/pptruser \
28 && chown -R pptruser:pptruser /app
29
30# Run everything after as non-privileged user.
31USER pptruser
32
33CMD ["node", "/app/examples/example-docker.js"]