mirror of
https://github.com/danbee/docker
synced 2025-03-04 08:39:09 +00:00
62 lines
2.8 KiB
Docker
62 lines
2.8 KiB
Docker
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
|