From 33e640f1e8654fcfc8102b43449c79bcb4d5ddff Mon Sep 17 00:00:00 2001 From: eug-vs Date: Sat, 14 Nov 2020 19:38:26 +0300 Subject: build: setup docker correctly --- Dockerfile | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'Dockerfile') diff --git a/Dockerfile b/Dockerfile index 7ec96ac..f0c3df9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,33 @@ # Dockerfile to build bsu-fantom image -FROM node:12 +FROM node:12-slim + +# Install latest chrome dev package +# Note: this installs the necessary libs to make the bundled version of Chromium that Puppeteer +# installs, work. +RUN apt-get update \ + && apt-get install -y wget gnupg \ + && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ + && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \ + && apt-get update \ + && apt-get install -y google-chrome-stable fonts-freefont-ttf libxss1 \ + --no-install-recommends \ + && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY package*.json ./ -RUN npm install +RUN npm install \ + # Add user so we don't need --no-sandbox. + # same layer as npm install to keep re-chowned files from using up several hundred MBs more space + && groupadd -r pptruser && useradd -r -g pptruser -G audio,video pptruser \ + && mkdir -p /home/pptruser/Downloads \ + && chown -R pptruser:pptruser /home/pptruser \ + && chown -R pptruser:pptruser /app/node_modules + +# Run everything after as non-privileged user. +USER pptruser COPY . . -- cgit v1.2.3