Created
May 2, 2018 00:53
-
-
Save neekey/8882045f187d3190bfd14fd53d038bd2 to your computer and use it in GitHub Desktop.
create node and npm and puppeteer in Docker
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
FROM python:3.6 | |
ADD . /app | |
WORKDIR /app | |
# | |
RUN pip install --upgrade pip | |
RUN pip install -r requirements.txt | |
# install node and npm for query thumbnail process | |
RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash | |
# nvm environment variables | |
ENV NVM_DIR /root/.nvm | |
ENV NODE_VERSION 8.11.1 | |
RUN . $NVM_DIR/nvm.sh \ | |
&& nvm install $NODE_VERSION \ | |
&& nvm alias default $NODE_VERSION \ | |
&& nvm use default \ | |
&& npm i | |
ENV APP_NODE_MODULES /app_node_modules | |
RUN cp -r ./node_modules $APP_NODE_MODULES | |
# add node and npm to path so the commands are available | |
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules:$APP_NODE_MODULES | |
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH | |
# install lib deps for chrome | |
# see https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#running-puppeteer-in-docker | |
RUN apt-get update && apt-get install -y 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 | |
COPY ./ops/app/docker-entrypoint.sh / | |
ENTRYPOINT ["/docker-entrypoint.sh"] | |
CMD ['npm', 'i'] | |
CMD ["gunicorn", "manage:app", "--workers=4", "--bind", "0.0.0.0:8000", "--timeout=120"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#running-puppeteer-in-docker