FROM node:22-slim # Install dependencies for Puppeteer RUN apt-get update && apt-get install -y \ chromium \ fonts-liberation \ libasound2 \ libatk-bridge2.0-0 \ libatk1.0-0 \ libcups2 \ libdbus-1-3 \ libdrm2 \ libgbm1 \ libgtk-3-0 \ libnspr4 \ libnss3 \ libxcomposite1 \ libxdamage1 \ libxfixes3 \ libxrandr2 \ xdg-utils \ --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # Set Puppeteer to use installed Chromium ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium WORKDIR /app COPY package*.json ./ RUN npm install --production COPY . . RUN mkdir -p /data EXPOSE 3000 CMD ["node", "src/server.js"]