|
|
# 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 [, ] |