FROM node:18 # Install required system dependencies for headless Chrome RUN apt-get update && apt-get install -y \ gconf-service libgbm-dev 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 libnss3 lsb-release xdg-utils wget \ --no-install-recommends && rm -rf /var/lib/apt/lists/* # Hugging Face permissions USER node ENV HOME=/home/node WORKDIR $HOME/app # Install packages (Puppeteer will automatically download Chrome here!) COPY --chown=node package*.json ./ RUN npm install # Copy application code COPY --chown=node . . EXPOSE 7860 CMD ["node", "server.js"]