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