| FROM node:20 | |
| RUN apt-get update && apt-get install -y \ | |
| wget \ | |
| gnupg \ | |
| ca-certificates \ | |
| procps \ | |
| libxss1 \ | |
| libasound2 \ | |
| libatk-bridge2.0-0 \ | |
| libgtk-3-0 \ | |
| libgbm-dev \ | |
| libnss3 \ | |
| xvfb \ | |
| fonts-liberation \ | |
| libu2f-udev \ | |
| xdg-utils \ | |
| --no-install-recommends \ | |
| && rm -rf /var/lib/apt/lists/* | |
| RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ | |
| && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \ | |
| && apt-get update \ | |
| && apt-get install -y google-chrome-stable \ | |
| && rm -rf /var/lib/apt/lists/* | |
| WORKDIR /app | |
| RUN mkdir -p /app/cache && chmod -R 777 /app/cache | |
| RUN mkdir -p /app/.cache && chmod -R 777 /app/.cache | |
| COPY package*.json ./ | |
| RUN npm install | |
| COPY . . | |
| RUN chmod -R 777 /app | |
| ENV CHROME_PATH="/usr/bin/google-chrome-stable" | |
| ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true" | |
| ENV PUPPETEER_EXECUTABLE_PATH="/usr/bin/google-chrome-stable" | |
| EXPOSE 7860 | |
| CMD Xvfb :99 -screen 0 1920x1080x24 > /dev/null 2>&1 & \ | |
| export DISPLAY=:99 && \ | |
| node index.js |