1 # Arvados base image (wheezy+rvm+Arvados source) in Docker
3 # Based on Debian Wheezy
4 FROM arvados/debian:wheezy
5 MAINTAINER Tim Pierce <twp@curoverse.com>
7 ENV DEBIAN_FRONTEND noninteractive
9 # Install prerequisite packages for Arvados
11 # * Arvados source code in /usr/src/arvados, for preseeding gem installation
13 RUN apt-get update && \
14 apt-get -q -y install -q -y openssh-server apt-utils git curl \
15 libcurl3 libcurl3-gnutls libcurl4-openssl-dev locales \
16 postgresql-server-dev-9.1 && \
17 /bin/mkdir -p /root/.ssh && \
18 /bin/sed -ri 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
19 /usr/sbin/locale-gen && \
20 curl -L https://get.rvm.io | bash -s stable && \
21 /usr/local/rvm/bin/rvm install 2.1.0 && \
22 /bin/mkdir -p /usr/src/arvados
24 ADD generated/arvados.tar.gz /usr/src/arvados/
26 # Set up RVM environment. These are just the env variables created by
27 # /usr/local/rvm/scripts/rvm, which can't be run from a non-login shell.
28 # TODO(twp): figure out a less awful solution.
29 ENV GEM_HOME /usr/local/rvm/gems/ruby-2.1.0
30 ENV GEM_PATH /usr/local/rvm/gems/ruby-2.1.0:/usr/local/rvm/gems/ruby-2.1.0@global
31 ENV PATH /usr/local/rvm/gems/ruby-2.1.0/bin:/usr/local/rvm/gems/ruby-2.1.0@global/bin:/usr/local/rvm/rubies/ruby-2.1.0/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
33 # Update gem. This (hopefully) fixes
34 # https://github.com/rubygems/rubygems.org/issues/613.
35 RUN gem update --system && \
36 gem install bundler && \
37 bundle install --gemfile=/usr/src/arvados/apps/workbench/Gemfile && \
38 bundle install --gemfile=/usr/src/arvados/services/api/Gemfile && \
39 bundle install --gemfile=/usr/src/arvados/doc/Gemfile
41 ADD generated/id_rsa.pub /root/.ssh/authorized_keys
42 RUN chown root:root /root/.ssh/authorized_keys