From 4e18ffa3aba90c701c16627e5cd0cc61e2941c3d Mon Sep 17 00:00:00 2001 From: Nemo Date: Sat, 25 Apr 2020 15:45:55 +0530 Subject: [PATCH] Adds support for dynamically setting CHROME_BIN See https://github.com/schliflo/docker-puppeteer/issues/6 for context --- CHANGELOG.md | 4 ++++ Dockerfile | 13 ++----------- README.md | 9 +++++++++ init.sh | 7 +++++++ 4 files changed, 22 insertions(+), 11 deletions(-) create mode 100755 init.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index de7ee67..5fcce7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +# 2.0.9 + +- Bumps puppeteer to 3.0.1 + # 2.0.0 - Bumps puppeteer to `1.20.0` diff --git a/Dockerfile b/Dockerfile index df56648..54c660e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,15 +5,8 @@ LABEL maintainer "Nemo " ARG BUILD_DATE ARG VCS_REF -ENV CHROME_REVISION=737027 - WORKDIR /app -# So I can copy it to the above variable -RUN ls "/usr/local/share/.config/yarn/global/node_modules/puppeteer/.local-chromium/" -# Ensure that the chromium path hasn't changed (this fails the build early) -RUN ls "/usr/local/share/.config/yarn/global/node_modules/puppeteer/.local-chromium/linux-$CHROME_REVISION/chrome-linux/chrome" - COPY package.json package-lock.json /app/ RUN npm install @@ -25,10 +18,8 @@ LABEL org.label-schema.build-date=$BUILD_DATE \ org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.schema-version="1.0.0-rc1" -COPY index.js server.js prom.js *.md /app/ +COPY index.js server.js prom.js *.md init.sh /app/ -ENV CHROME_BIN="/usr/local/share/.config/yarn/global/node_modules/puppeteer/.local-chromium/linux-$CHROME_REVISION/chrome-linux/chrome" - -ENTRYPOINT ["/usr/local/bin/node", "server.js"] +ENTRYPOINT ["/app/init.sh"] EXPOSE 3000 diff --git a/README.md b/README.md index db85b06..3f2626a 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,15 @@ You can pass the following environment variables: 2. `CHROME_BIN`: Set Chrome/Chromium executable path. 3. `DISABLE_HEADLESS`: If set, chrome will not launch in headless mode. +# Usage + +## Docker + +If running via Docker, here are some simple cookbook configurations: + +docker run -it -p 3000:3000 -e captn3m0/prometheus-act-exporter +: Run a simple test server locally in debug mode and test it on http://localhost:3000 + # LICENSE This is licensed under WTFPL. See COPYING file for the full text. diff --git a/init.sh b/init.sh new file mode 100755 index 0000000..d61a565 --- /dev/null +++ b/init.sh @@ -0,0 +1,7 @@ +#!/bin/sh +export CHROME_REVISION=$(node -e "console.log(require('/usr/local/share/.config/yarn/global/node_modules/puppeteer/package.json')['puppeteer']['chromium_revision'])") +export CHROME_BIN="/usr/local/share/.config/yarn/global/node_modules/puppeteer/.local-chromium/linux-$CHROME_REVISION/chrome-linux/chrome" +env +ls -lah $CHROME_BIN +echo $CHROME_BIN +/usr/local/bin/node server.js $@