-
Notifications
You must be signed in to change notification settings - Fork 4
/
Dockerfile
32 lines (23 loc) · 1.19 KB
/
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
# Dockerfile extending the generic Node image with application files for a
# single application.
FROM gcr.io/google_appengine/nodejs
LABEL name="rendeer" \
version="1.5.0" \
description="When Puppeteer meets Prerender"
RUN apt-get update && apt-get install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
RUN /usr/local/bin/install_node '>=10.12'
RUN npm install pm2 -g
COPY . /app/
# Add rendeer as a user
RUN groupadd -r rendeer && useradd -r -g rendeer -G audio,video rendeer \
&& mkdir -p /home/rendeer && chown -R rendeer:rendeer /home/rendeer \
&& chown -R rendeer:rendeer /app
# Run rendeer non-privileged
USER rendeer
EXPOSE 8080
RUN npm install --production || \
((if [ -f npm-debug.log ]; then \
cat npm-debug.log; \
fi) && false)
ENTRYPOINT ["pm2-docker"]
CMD ["process.yml"]