| | # Use official Node.js LTS base image |
| | FROM node:18-slim |
| |
|
| | # Set working |
| | WORKDIR /app |
| |
|
| | # Install Chrome/ |
| | RUN |
| | wget |
| | gnupg |
| | ca-certificates |
| | && wget ///linux/ | |
| | && echo /etc//sources.list.d/ |
| | && apt-get |
| | && apt-get |
| | google-chrome-stable |
| | fonts-liberation |
| | libasound2 |
| | libatk1.0-0 \ |
| | libatk-bridge2.0-0 \ |
| | libc6 |
| | libcairo2 |
| | libcups2 |
| | libdbus-1-3 \ |
| | libexpat1 |
| | libfontconfig1 |
| | libgbm1 |
| | libgcc1 |
| | libglib2.0-0 \ |
| | libgtk-3-0 \ |
| | libnss3 |
| | libnspr4 |
| | libpango-1.0-0 \ |
| | libx11-6 \ |
| | libx11-xcb1 |
| | libxcb1 |
| | libxcomposite1 |
| | libxcursor1 |
| | libxdamage1 |
| | libxext6 |
| | libxfixes3 |
| | libxi6 |
| | libxrandr2 |
| | libxrender1 |
| | libxss1 |
| | libxtst6 |
| | xdg-utils |
| | && rm /var//apt//* |
| |
|
| | # Create package.json |
| | COPY package*.json ./ |
| |
|
| | # Install |
| | RUN |
| |
|
| | # Copy |
| | COPY |
| |
|
| | # Create |
| | RUN |
| | && mkdir /home//Downloads \ |
| | && chown -R pptruser:pptruser //pptruser \ |
| | && chown -R pptruser:pptruser / |
| |
|
| | # Set |
| | ENV |
| | ENV /usr//google-chrome-stable |
| |
|
| | # Expose port |
| | EXPOSE 7860 |
| |
|
| | # Switch to non-root user |
| | USER pptruser |
| |
|
| | # Start the application |
| | CMD [, ] |