33# ##################################################
44# == Ubuntu xenial is 16.04, i.e. FROM ubuntu:16.04
55# search for more at https://registry.hub.docker.com/_/ubuntu/tags/manage/
6- FROM ubuntu:xenial-20160923.1
6+ FROM ubuntu:xenial-20161010
77ENV UBUNTU_FLAVOR="xenial" \
8- UBUNTU_DATE="20160923.1 "
8+ UBUNTU_DATE="20161010 "
99
1010# == Ubuntu wily is 15.10, i.e. FROM ubuntu:15.10
1111# FROM ubuntu:wily-20151208
@@ -435,14 +435,14 @@ RUN apt-get -qqy update \
435435 python-openssl \
436436 libssl-dev libffi-dev \
437437 && pip install --upgrade pip \
438- && pip install --upgrade setuptools \
439- && pip install --upgrade selenium \
440- && pip install --upgrade retrying \
441438 && rm -rf /var/lib/apt/lists/*
439+ # && pip install --upgrade setuptools \
442440
443- # =========================================
444- # Python3 for Supervisor, others
445- # =========================================
441+ # =========================================================
442+ # Python3 for Supervisor, selenium tests, and other stuff
443+ # =========================================================
444+ # Note Python2 comes already installed so better stick to
445+ # it to avoid occupying more disk space
446446# Note Python3 fails installing mozInstall==1.12 with
447447# NameError: name 'file' is not defined
448448# RUN apt-get -qqy update \
@@ -454,6 +454,18 @@ RUN apt-get -qqy update \
454454# libssl-dev libffi-dev \
455455# && pip3 install --upgrade pip \
456456# && rm -rf /var/lib/apt/lists/*
457+ # # && pip3 install --upgrade setuptools \
458+ # # make some useful symlinks that are expected to exist
459+ # RUN cd /usr/local/bin \
460+ # && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
461+ # && ln -s idle3 idle \
462+ # && ln -s pydoc3 pydoc \
463+ # && ln -s python3 python \
464+ # && ln -s python3-config python-config \
465+ # && mv /usr/bin/python /usr/bin/python2 \
466+ # && ln -s /usr/bin/python3 /usr/bin/python \
467+ # && python --version \
468+ # && pip --version
457469
458470ENV CPU_ARCH 64
459471ENV SEL_HOME ${NORMAL_USER_HOME}/selenium
@@ -501,18 +513,19 @@ RUN mkdir -p ${SEL_HOME}
501513# ====================
502514# Supervisor install
503515# ====================
504- # https://github.com/Supervisor/supervisor
516+ # TODO: Upgrade to supervisor stable 4.0 as soon as is released
517+ # Check every now and then if version 4 is finally the stable one
518+ # https://pypi.python.org/pypi/supervisor
519+ # https://github.com/Supervisor/supervisor
505520# RUN apt-get -qqy update \
506521# && apt-get -qqy install \
507522# supervisor \
508- # 2016-06-28 commit: 154cb4c84f28ac, version: supervisor-4.0.0.dev0
509- # 2016-04-11 commit: 3e541a34a4ab74, version: supervisor-4.0.0.dev0
510- # 2016-03-06 commit: e4a37c6f8d1cb6, version: supervisor-4.0.0.dev0
511- # 2016-02-01 commit: eb904ccdb3573e, version: supervisor-4.0.0.dev0
512- # 2015-06-24 commit: b3ad59703b554f, version: supervisor-4.0.0.dev0
523+ # 2016-02-01 commit: eb904ccdb3573e, supervisor/version.txt: 4.0.0.dev0
524+ # 2016-04-11 commit: 3e541a34a4ab74, supervisor/version.txt: 4.0.0.dev0
525+ # 2016-06-28 commit: 154cb4c84f28ac, supervisor/version.txt: 4.0.0.dev0
513526# 2015-08-24 commit: 304b4f388d3e3f, supervisor/version.txt: 4.0.0.dev0
514- # TODO: Upgrade to supervisor stable 4.0 as soon as is released
515- RUN SHA="154cb4c84f28ac3e0ac1ce5409faea65c15d2d02 " \
527+ # 2015-10-09 commit: 427eb2bc6b08f7, supervisor/version.txt: 4.0.0.dev0
528+ RUN SHA="427eb2bc6b08f788573deb91d1391d93f8b58a1b " \
516529 && pip install --upgrade \
517530 "https://github.com/Supervisor/supervisor/zipball/${SHA}" \
518531 && rm -rf /var/lib/apt/lists/*
@@ -652,6 +665,19 @@ RUN cd /tmp \
652665 && mv BrowserStackLocal /usr/local/bin \
653666 && which BrowserStackLocal
654667
668+ # ==============================================
669+ # Java blocks until kernel have enough entropy
670+ # to generate the /dev/random seed
671+ # ==============================================
672+ # See: SeleniumHQ/docker-selenium/issues/14
673+ RUN apt-get -qqy update \
674+ && apt-key update -qqy \
675+ && apt-get -qqy install \
676+ haveged rng-tools \
677+ && service haveged start \
678+ && update-rc.d haveged defaults \
679+ && rm -rf /var/lib/apt/lists/*
680+
655681# ---------------------#
656682# FIREFOX_VERSIONS 40 #
657683# ---------------------#
@@ -735,40 +761,6 @@ RUN mkdir -p ${SEL_HOME} && cd ${SEL_HOME} \
735761 && mv firefox firefox-for-sel-2 \
736762 && sudo ln -fs ${SEL_HOME}/firefox-for-sel-2/firefox /usr/bin/firefox
737763
738- # ============
739- # GeckoDriver
740- # ============
741- ENV GECKOD_VER="0.10.0" \
742- GECKOD_URL="https://github.com/mozilla/geckodriver/releases/download"
743- RUN wget --no-verbose -O /tmp/geckodriver.tar.gz \
744- "${GECKOD_URL}/v${GECKOD_VER}/geckodriver-v${GECKOD_VER}-linux64.tar.gz" \
745- && rm -rf /opt/geckodriver* \
746- && tar -C /opt -xvzf /tmp/geckodriver.tar.gz \
747- && mv /opt/geckodriver /usr/bin/geckodriver \
748- && chmod +x /usr/bin/geckodriver \
749- && ln -fs /usr/bin/geckodriver /opt/geckodriver \
750- && ln -fs /usr/bin/geckodriver /usr/bin/wires \
751- && rm /tmp/geckodriver.tar.gz
752- # && ln -fs /usr/bin/geckodriver ${FF_DEST}/geckodriver \
753- # && ln -fs /usr/bin/geckodriver ${FF_DEST}/wires \
754-
755- # && rm -rf ${NORMAL_USER_HOME}/firefox-src
756- # RUN mkdir -p ${NORMAL_USER_HOME}/firefox-src \
757- # && cd ${NORMAL_USER_HOME}/firefox-src \
758- # && mkdir -p ${FIREFOX_DEST} && cd ${FIREFOX_DEST} \
759- # RUN cd ${NORMAL_USER_HOME}/firefox-src \
760- # && for FF_VER in $(echo ${FIREFOX_VERSIONS_LAST} | tr "," "\n"); do \
761- # mozdownload --application=firefox \
762- # --locale=${FF_LANG} --retry-attempts=1 \
763- # --platform=linux64 --log-level=WARN --version=${FF_VER} \
764- # && export FIREFOX_DEST="${SEL_HOME}/firefox-${FF_VER}" \
765- # && mkdir -p ${FIREFOX_DEST} \
766- # && mozinstall --app=firefox \
767- # firefox-${FF_VER}.${FF_LANG}.linux64.tar.bz2 \
768- # --destination=${FIREFOX_DEST} \
769- # && rm firefox-${FF_VER}.${FF_LANG}.linux64.tar.bz2 \
770- # ;done
771-
772764# -----------#
773765# Fix perms #
774766# -----------#
@@ -784,8 +776,8 @@ USER ${NORMAL_USER}
784776# Selenium
785777# ==========
786778# Selenium 3
787- ENV SEL_DIRECTORY="3.0-beta4 " \
788- SEL_VERSION="3.0.0-beta4 "
779+ ENV SEL_DIRECTORY="3.0" \
780+ SEL_VERSION="3.0.0"
789781RUN mkdir -p ${SEL_HOME} \
790782 && export SELBASE="https://selenium-release.storage.googleapis.com" \
791783 && export SELPATH="${SEL_DIRECTORY}/selenium-server-standalone-${SEL_VERSION}.jar" \
@@ -834,7 +826,7 @@ RUN mkdir -p ${NORMAL_USER_HOME}/tmp && cd ${NORMAL_USER_HOME}/tmp \
834826# TODO: Use Google fingerprint to verify downloads
835827# https://www.google.de/linuxrepositories/
836828# Also fix .deb file names with correct version
837- RUN latest_chrome_version_trigger="53 .0.2785.143 " \
829+ RUN latest_chrome_version_trigger="54 .0.2840.59 " \
838830 && mkdir -p ${NORMAL_USER_HOME}/chrome-deb \
839831 && export CHROME_URL="https://dl.google.com/linux/direct" \
840832 && wget -nv -O \
@@ -892,6 +884,22 @@ RUN ln -s ${SEL_HOME}/chromedriver /usr/bin \
892884 && chown -R ${NORMAL_USER}:${NORMAL_GROUP} ${SEL_HOME} \
893885 && rm -rf /var/lib/apt/lists/*
894886
887+ # ============
888+ # GeckoDriver
889+ # ============
890+ ENV GECKOD_VER="0.11.1" \
891+ GECKOD_URL="https://github.com/mozilla/geckodriver/releases/download"
892+ RUN wget --no-verbose -O /tmp/geckodriver.tar.gz \
893+ "${GECKOD_URL}/v${GECKOD_VER}/geckodriver-v${GECKOD_VER}-linux64.tar.gz" \
894+ && rm -rf /opt/geckodriver* \
895+ && tar -C /opt -xvzf /tmp/geckodriver.tar.gz \
896+ && chmod +x /opt/geckodriver \
897+ && rm /tmp/geckodriver.tar.gz
898+ # below moved to entry.sh
899+ # && mv /opt/geckodriver /usr/bin/geckodriver \
900+ # && ln -fs /usr/bin/geckodriver /opt/geckodriver \
901+ # && ln -fs /usr/bin/geckodriver /usr/bin/wires \
902+
895903# =========
896904# GNOME Shell provides core interface functions like switching windows,
897905# launching applications or see your notifications
@@ -947,19 +955,6 @@ RUN ln -s ${SEL_HOME}/chromedriver /usr/bin \
947955ADD supervisor/etc/supervisor/supervisord.conf /etc/supervisor/
948956ADD **/etc/supervisor/conf.d/* /etc/supervisor/conf.d/
949957
950- # ==============================================
951- # Java blocks until kernel have enough entropy
952- # to generate the /dev/random seed
953- # ==============================================
954- # See: SeleniumHQ/docker-selenium/issues/14
955- RUN apt-get -qqy update \
956- && apt-key update -qqy \
957- && apt-get -qqy install \
958- haveged rng-tools \
959- && service haveged start \
960- && update-rc.d haveged defaults \
961- && rm -rf /var/lib/apt/lists/*
962-
963958# ======
964959# User
965960# ======
@@ -1014,9 +1009,9 @@ ENV FIREFOX_VERSION="${FF_VER}" \
10141009 XMANAGER_STARTRETRIES=0 \
10151010 XMANAGER_STARTSECS=0 \
10161011 # Max amount of time to wait for other processes dependencies
1017- WAIT_TIMEOUT="25s " \
1012+ WAIT_TIMEOUT="45s " \
10181013 SCREEN_WIDTH=1900 \
1019- SCREEN_HEIGHT=1480 \
1014+ SCREEN_HEIGHT=1880 \
10201015 SCREEN_MAIN_DEPTH=24 \
10211016 SCREEN_SUB_DEPTH=32 \
10221017 # Display number; see entry.sh for $DISPLAY
@@ -1137,6 +1132,7 @@ ENV FIREFOX_VERSION="${FF_VER}" \
11371132 GRID="true" \
11381133 CHROME="true" \
11391134 FIREFOX="true" \
1135+ # -e RC_CHROME=false -e RC_FIREFOX=false
11401136 RC_CHROME="true" \
11411137 RC_FIREFOX="true" \
11421138 # Video file and extension, e.g. swf, mp4, mkv, flv
0 commit comments