forked from secreter/puppeteer-screenshot
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
镜像使用arbing/puppeteer(基于node:lts-slim)
- Loading branch information
Showing
7 changed files
with
2,215 additions
and
3,261 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,58 +1,15 @@ | ||
FROM node:8-slim | ||
FROM arbing/puppeteer | ||
|
||
ENV PORT 8555 | ||
|
||
# See https://crbug.com/795759 | ||
RUN apt-get update && apt-get install -yq libgconf-2-4 | ||
|
||
# Install latest chrome dev package and fonts to support major charsets (Chinese, Japanese, Arabic, Hebrew, Thai and a few others) | ||
# Note: this installs the necessary libs to make the bundled version of Chromium that Puppeteer | ||
# installs, work. | ||
RUN apt-get update && apt-get install -y wget --no-install-recommends \ | ||
&& 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-unstable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst ttf-freefont \ | ||
--no-install-recommends \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& apt-get purge --auto-remove -y curl \ | ||
&& rm -rf /src/*.deb | ||
|
||
# It's a good idea to use dumb-init to help prevent zombie chrome processes. | ||
ADD https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64 /usr/local/bin/dumb-init | ||
RUN chmod +x /usr/local/bin/dumb-init | ||
WORKDIR /app | ||
|
||
# Uncomment to skip the chromium download when installing puppeteer. If you do, | ||
# you'll need to launch puppeteer with: | ||
# browser.launch({executablePath: 'google-chrome-unstable'}) | ||
# ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true | ||
COPY . /app | ||
|
||
# Install puppeteer so it's available in the container. | ||
#RUN npm i puppeteer | ||
RUN npm install pm2 -g \ | ||
&& pm2 install pm2-logrotate \ | ||
&& pm2 set pm2-logrotate:max_size 100M \ | ||
&& pm2 set pm2-logrotate:retain 100 \ | ||
&& mkdir -p /project \ | ||
&& chmod -R 777 /project | ||
RUN yarn install | ||
|
||
WORKDIR /project | ||
RUN chown -R pptruser:pptruser ./node_modules | ||
|
||
COPY . /project | ||
|
||
RUN npm install | ||
|
||
# Add user so we don't need --no-sandbox. | ||
RUN groupadd -r pptruser \ | ||
&& useradd -r -g pptruser -G audio,video pptruser \ | ||
&& mkdir -p /home/pptruser/Downloads \ | ||
&& chown -R pptruser:pptruser /home/pptruser \ | ||
&& chown -R pptruser:pptruser ./node_modules | ||
|
||
# Run everything after as non-privileged user. | ||
USER pptruser | ||
ENV PORT 8555 | ||
|
||
EXPOSE 8555 | ||
|
||
ENTRYPOINT ["dumb-init", "--"] | ||
CMD ["pm2-runtime", "pm2.json"] | ||
CMD ["pm2-runtime", "pm2.json"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.