X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/19ae770973482257117fe8ded5619c3018c4b60f..0eb72b526bf8bbb011551ecf019f604e17a534f1:/tools/arvbox/lib/arvbox/docker/Dockerfile.base diff --git a/tools/arvbox/lib/arvbox/docker/Dockerfile.base b/tools/arvbox/lib/arvbox/docker/Dockerfile.base index 280ac6854e..b21e49e353 100644 --- a/tools/arvbox/lib/arvbox/docker/Dockerfile.base +++ b/tools/arvbox/lib/arvbox/docker/Dockerfile.base @@ -1,16 +1,50 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + FROM debian:8 +ENV DEBIAN_FRONTEND noninteractive + RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get -yq install \ - postgresql-9.4 git gcc golang-go runit \ - ruby rake bundler curl libpq-dev \ + apt-get -yq --no-install-recommends -o Acquire::Retries=6 install \ + postgresql-9.4 git build-essential runit curl libpq-dev \ libcurl4-openssl-dev libssl-dev zlib1g-dev libpcre3-dev \ openssh-server python-setuptools netcat-traditional \ + python-epydoc graphviz bzip2 less sudo virtualenv \ libpython-dev fuse libfuse-dev python-pip python-yaml \ pkg-config libattr1-dev python-llfuse python-pycurl \ libwww-perl libio-socket-ssl-perl libcrypt-ssleay-perl \ - libjson-perl nginx gitolite3 lsof python-epydoc graphviz \ - apt-transport-https ca-certificates slurm-wlm + libjson-perl nginx gitolite3 lsof libreadline-dev \ + apt-transport-https ca-certificates slurm-wlm \ + linkchecker python3-virtualenv python-virtualenv xvfb iceweasel \ + libgnutls28-dev python3-dev && \ + apt-get clean + +ENV GOVERSION 1.8.3 + +# Install golang binary +RUN curl -f http://storage.googleapis.com/golang/go${GOVERSION}.linux-amd64.tar.gz | \ + tar -C /usr/local -xzf - + +ENV PATH ${PATH}:/usr/local/go/bin + +ENV RUBYVERSION_MINOR 2.3 +ENV RUBYVERSION 2.3.3 + +# Install Ruby from source +RUN cd /tmp && \ + curl -f http://cache.ruby-lang.org/pub/ruby/${RUBYVERSION_MINOR}/ruby-${RUBYVERSION}.tar.gz | tar -xzf - && \ + cd ruby-${RUBYVERSION} && \ + ./configure --disable-install-doc && \ + make && \ + make install && \ + cd /tmp && \ + rm -rf ruby-${RUBYVERSION} + +ENV GEM_HOME /var/lib/gems +ENV GEM_PATH /var/lib/gems +ENV PATH $PATH:/var/lib/gems/bin VOLUME /var/lib/docker VOLUME /var/log/nginx @@ -22,7 +56,8 @@ RUN apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys 58118E8 RUN mkdir -p /etc/apt/sources.list.d && \ echo deb https://apt.dockerproject.org/repo debian-jessie main > /etc/apt/sources.list.d/docker.list && \ apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get -yq install docker-engine=1.9.1-0~jessie + apt-get -yq install docker-engine=1.9.1-0~jessie && \ + apt-get clean RUN rm -rf /var/lib/postgresql && mkdir -p /var/lib/postgresql @@ -30,12 +65,23 @@ RUN cd /root && \ GOPATH=$PWD go get github.com/curoverse/runsvinit && \ install bin/runsvinit /usr/local/bin +RUN set -e && \ + PJS=phantomjs-1.9.7-linux-x86_64 && \ + curl -L -o/tmp/$PJS.tar.bz2 http://cache.arvados.org/$PJS.tar.bz2 && \ + tar -C /usr/local -xjf /tmp/$PJS.tar.bz2 && \ + ln -s ../$PJS/bin/phantomjs /usr/local/bin/ + +RUN pip install -U setuptools + +ARG arvados_version +RUN echo arvados_version is git commit $arvados_version + ADD fuse.conf /etc/ ADD crunch-setup.sh gitolite.rc \ keep-setup.sh common.sh createusers.sh \ logger runsu.sh waitforpostgres.sh \ - application_yml_override.py \ + application_yml_override.py api-setup.sh \ /usr/local/lib/arvbox/ # Start the supervisor.