Created
April 14, 2021 15:06
-
-
Save iLikeKoffee/6c1fa2ff80b2dd5a78f68a7fda5cf468 to your computer and use it in GitHub Desktop.
pptr
This file contains hidden or 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
| FROM node:12-slim | |
| # 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 gnupg \ | |
| && 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 fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 \ | |
| --no-install-recommends \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # If running Docker >= 1.13.0 use docker run's --init arg to reap zombie processes, otherwise | |
| # uncomment the following lines to have `dumb-init` as PID 1 | |
| # 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 | |
| # ENTRYPOINT ["dumb-init", "--"] | |
| # 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 | |
| RUN npm i puppeteer \ | |
| # Add user so we don't need --no-sandbox. | |
| # same layer as npm install to keep re-chowned files from using up several hundred MBs more space | |
| && 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 | |
| CMD ["google-chrome-unstable"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment