|
|
|
FROM almalinux:latest |
|
|
|
|
|
RUN yum install -y wget unzip epel-release |
|
RUN yum install -y chromium pango libXcomposite libXcursor libXdamage libXext libXi libXtst cups-libs libXScrnSaver libXrandr xorg-x11-utils gcc-c++ make libXt xdg-user-dirs xorg-x11-server-Xvfb xdotool python39 && \ |
|
yum clean all && \ |
|
rm -rf /var/cache/yum |
|
|
|
|
|
|
|
RUN useradd -m -u 1000 -s /bin/bash user && \ |
|
mkdir -p /work && \ |
|
chown -R user:user /work |
|
|
|
|
|
RUN ln -s /usr/lib/x86_64-linux-gnu/libnss3.so /usr/lib/libnss3.so |
|
|
|
RUN curl -sL https://rpm.nodesource.com/setup_18.x | bash - |
|
RUN yum install -y nodejs |
|
RUN npm install pm2@latest -g |
|
RUN npm install colors@1.4.0 -g |
|
|
|
USER user |
|
|
|
|
|
WORKDIR /work |
|
|
|
|
|
ENV CHROME_BIN="/usr/bin/chromium-browser" \ |
|
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true" \ |
|
PM2_HOME=/work/.pm2 |
|
|
|
|
|
COPY --chown=user ./source /work/source |
|
|
|
|
|
|
|
|
|
|
|
WORKDIR /work/source |
|
|
|
|
|
RUN npm install |
|
|
|
|
|
ARG NODE_NAME |
|
ENV NODE_NAME=${NODE_NAME} |
|
|
|
RUN mv /work/source/.env.prod /work/source/.env \ |
|
&& sed -i "s/{NODE_NAME}/${NODE_NAME}/g" /work/source/.env |
|
|
|
|
|
EXPOSE 7860 |
|
|
|
|
|
CMD xvfb-run --server-args="-screen 0 1024x768x24" pm2-runtime start server.js && pm2 save |
|
|