Skip to content

Instantly share code, notes, and snippets.

@rickyngk
Created April 8, 2022 17:32
Show Gist options
  • Select an option

  • Save rickyngk/8d385d9a70e58415d6646e6a1f6b41f5 to your computer and use it in GitHub Desktop.

Select an option

Save rickyngk/8d385d9a70e58415d6646e6a1f6b41f5 to your computer and use it in GitHub Desktop.
Puppeteer for Apple M1
FROM node:12-stretch
RUN apt-get update && \
apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget dumb-init
RUN apt-get install chromium -y
RUN ln -s /usr/bin/chromium /usr/bin/chromium-browser
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
RUN npm install -g nodemon
RUN npm install -g pm2
RUN npm install -g puppeteer --unsafe-perm
WORKDIR /home/node/app
COPY --chown=node:node package.json ./package.json
RUN yarn install
COPY --chown=node:node *.js ./
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
USER node
CMD [ "pm2-runtime", "start", "ecosystem.config.js" ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment