-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
33 lines (23 loc) · 997 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
FROM node:16 as builder
WORKDIR /app
ADD package.json package-lock.json /app/
RUN PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm ci
ADD . /app
RUN npm run build
FROM node:16
RUN apt-get update \
&& apt-get install -y wget gnupg ca-certificates dumb-init \
&& 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 \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY package.json package-lock.json /app/
COPY bin /app/bin
RUN PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm ci --production && npm install -g
COPY --from=builder /app/dist /app/dist
RUN groupadd -r runner && useradd -r -g runner -G audio,video -m -d /home/runner runner
USER runner
ENV BROWSERBOI_CHROME_PATH=google-chrome-stable
ENTRYPOINT ["/usr/bin/dumb-init", "--", "browserboi"]