2022-06-24 07:21:36 +00:00
|
|
|
FROM alpine
|
2018-06-04 08:08:40 +00:00
|
|
|
|
2018-06-30 22:17:34 +00:00
|
|
|
LABEL maintainer "Nemo <docker@captnemo.in>"
|
2018-06-04 08:08:40 +00:00
|
|
|
|
2022-06-24 07:21:36 +00:00
|
|
|
RUN apk add --no-cache \
|
|
|
|
chromium \
|
|
|
|
nss \
|
|
|
|
freetype \
|
|
|
|
harfbuzz \
|
|
|
|
ca-certificates \
|
|
|
|
ttf-freefont \
|
|
|
|
nodejs \
|
|
|
|
npm
|
|
|
|
|
|
|
|
# Tell Puppeteer to skip installing Chrome. We'll be using the installed package.
|
|
|
|
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
|
|
|
|
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser \
|
|
|
|
CHROME_BIN=/usr/bin/chromium-browser
|
|
|
|
|
|
|
|
# Add user so we don't need --no-sandbox.
|
|
|
|
RUN addgroup -S pptruser && adduser -S -G pptruser pptruser \
|
|
|
|
&& addgroup pptruser audio \
|
|
|
|
&& addgroup pptruser video \
|
|
|
|
&& mkdir -p /home/pptruser/Downloads /app \
|
|
|
|
&& chown -R pptruser:pptruser /home/pptruser \
|
|
|
|
&& chown -R pptruser:pptruser /app
|
|
|
|
|
|
|
|
USER pptruser
|
|
|
|
|
2018-06-04 08:08:40 +00:00
|
|
|
WORKDIR /app
|
|
|
|
|
2022-06-24 07:21:36 +00:00
|
|
|
COPY --chown=pptruser package.json package-lock.json /app/
|
2018-06-04 08:08:40 +00:00
|
|
|
|
|
|
|
RUN npm install
|
|
|
|
|
2022-06-24 07:21:36 +00:00
|
|
|
COPY --chown=pptruser index.js server.js prom.js *.md /app/
|
2019-05-12 16:35:44 +00:00
|
|
|
|
2022-06-24 07:21:36 +00:00
|
|
|
ENTRYPOINT ["/usr/bin/node", "server.js"]
|
2018-06-04 08:08:40 +00:00
|
|
|
|
2019-05-12 06:41:57 +00:00
|
|
|
EXPOSE 3000
|
2022-06-24 07:21:36 +00:00
|
|
|
|
|
|
|
HEALTHCHECK --interval=1m --timeout=5s \
|
|
|
|
CMD wget -q http://localhost:3000/ || exit 1
|