37 lines
No EOL
781 B
Docker
37 lines
No EOL
781 B
Docker
ARG NODE_VERSION=23.0.0
|
|
|
|
FROM node:${NODE_VERSION}-alpine
|
|
|
|
ENV NODE_ENV production
|
|
|
|
RUN apk add --no-cache \
|
|
chromium \
|
|
nss \
|
|
freetype \
|
|
harfbuzz \
|
|
ca-certificates \
|
|
ttf-freefont \
|
|
nodejs \
|
|
python3 g++ make py3-pip
|
|
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
|
|
|
|
# Add user so we don't need --no-sandbox.
|
|
# RUN addgroup -S node && adduser -S -G pptruser pptruser \
|
|
# && mkdir -p /home/node/Downloads /app \
|
|
# && chown -R node:node /home/pptruser \
|
|
# && chown -R node:node /app
|
|
WORKDIR /usr/src/app
|
|
|
|
ENV CHROME_BIN="/usr/bin/chromium-browser"\
|
|
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true"
|
|
|
|
COPY package.json .
|
|
RUN npm install puppeteer
|
|
RUN npm install
|
|
COPY . .
|
|
|
|
USER node
|
|
EXPOSE 3000
|
|
EXPOSE 3001
|
|
|
|
CMD node index.js |