FROM ruby:2.5.1 RUN apt-get update \ && apt-get install -yq apt-transport-https RUN apt-get install -yq \ libpq-dev \ jq \ bzip2 \ libgconf-2-4 \ unzip # 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 install -yq openjdk-8-jre openjdk-8-jre-headless openjdk-8-jdk openjdk-8-jdk-headless # 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 \ && (dpkg -i /tmp/google-chrome-stable_current_amd64.deb || apt-get -fy install) \ && rm -rf /tmp/google-chrome-stable_current_amd64.deb \ && 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 \ && mv chromedriver /usr/local/bin/chromedriver \ && chmod +x /usr/local/bin/chromedriver \ && chromedriver --version