From 2c52397d4bcc2818b37c0e70e35501c29b764f5b Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Fri, 19 Oct 2018 15:55:13 -0400 Subject: [PATCH] Add Ruby 2.5.1-node-browsers image --- ruby/2.5.1-node-browsers/Dockerfile | 60 +++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 ruby/2.5.1-node-browsers/Dockerfile diff --git a/ruby/2.5.1-node-browsers/Dockerfile b/ruby/2.5.1-node-browsers/Dockerfile new file mode 100644 index 0000000..d9fff3b --- /dev/null +++ b/ruby/2.5.1-node-browsers/Dockerfile @@ -0,0 +1,60 @@ +FROM ruby:2.5.1 + +RUN apt-get update \ + && apt-get install -yq apt-transport-https + +RUN apt-get install -yq \ + libpq-dev \ + jq + +# Install NodeJS +RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \ + && apt-get install -yq nodejs + +# Install Yarn +RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update \ + && apt-get install -yq yarn + +# Install Java 8 +RUN apt-get update \ + && apt-get install -yq openjdk-8-jre openjdk-8-jre-headless openjdk-8-jdk openjdk-8-jdk-headless \ + && apt-get install -yq bzip2 libgconf-2-4 + +# Install Firefox +RUN FIREFOX_URL="https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=en-US" \ + && ACTUAL_URL=$(curl -Ls -o /dev/null -w %{url_effective} $FIREFOX_URL) \ + && curl --silent --show-error --location --fail --retry 3 --output /tmp/firefox.tar.bz2 $ACTUAL_URL \ + && tar -xvjf /tmp/firefox.tar.bz2 -C /opt \ + && ln -s /opt/firefox/firefox /usr/local/bin/firefox \ + && apt-get install -y libgtk3.0-cil-dev libasound2 libasound2 libdbus-glib-1-2 libdbus-1-3 \ + && rm -rf /tmp/firefox.* \ + && firefox --version + +# Install Geckodriver +RUN export GECKODRIVER_LATEST_RELEASE_URL=$(curl https://api.github.com/repos/mozilla/geckodriver/releases/latest | jq -r ".assets[] | select(.name | test(\"linux64\")) | .browser_download_url") \ + && curl --silent --show-error --location --fail --retry 3 --output /tmp/geckodriver_linux64.tar.gz "$GECKODRIVER_LATEST_RELEASE_URL" \ + && cd /tmp \ + && tar xf geckodriver_linux64.tar.gz \ + && rm -rf geckodriver_linux64.tar.gz \ + && mv geckodriver /usr/local/bin/geckodriver \ + && chmod +x /usr/local/bin/geckodriver \ + && geckodriver --version + +# Install Chrome +RUN curl --silent --show-error --location --fail --retry 3 --output /tmp/google-chrome-stable_current_amd64.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \ + && (sudo dpkg -i /tmp/google-chrome-stable_current_amd64.deb || sudo apt-get -fy install) \ + && rm -rf /tmp/google-chrome-stable_current_amd64.deb \ + && sudo sed -i 's|HERE/chrome"|HERE/chrome" --disable-setuid-sandbox --no-sandbox|g' \ + "/opt/google/chrome/google-chrome" \ + && google-chrome --version + +RUN export CHROMEDRIVER_RELEASE=$(curl --location --fail --retry 3 http://chromedriver.storage.googleapis.com/LATEST_RELEASE) \ + && curl --silent --show-error --location --fail --retry 3 --output /tmp/chromedriver_linux64.zip "http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_RELEASE/chromedriver_linux64.zip" \ + && cd /tmp \ + && unzip chromedriver_linux64.zip \ + && rm -rf chromedriver_linux64.zip \ + && sudo mv chromedriver /usr/local/bin/chromedriver \ + && sudo chmod +x /usr/local/bin/chromedriver \ + && chromedriver --version