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