| FROM node:20-bullseye | |
| 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 \ | |
| && 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 | |
| COPY package*.json ./ | |
| RUN npm install | |
| COPY . . | |
| RUN chmod -R 777 /app | |
| EXPOSE 7860 | |
| CMD rm -f /tmp/.X99-lock && \ | |
| Xvfb :99 -screen 0 1920x1080x24 > /dev/null 2>&1 & \ | |
| export DISPLAY=:99 && \ | |
| npm start |