Merge branch 'master' into 3219-further-docker-improvements
[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, for preseeding gem installation
12
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 && \
22     /usr/local/rvm/bin/rvm alias create default ruby && \
23     /bin/mkdir -p /usr/src/arvados
24
25 ADD apt.arvados.org.list /etc/apt/sources.list.d/
26 RUN apt-key adv --keyserver pgp.mit.edu --recv 1078ECD7
27 RUN apt-get update && apt-get -qqy install python-arvados-python-client
28
29 ADD generated/arvados.tar.gz /usr/src/arvados/
30
31 # Update gem. This (hopefully) fixes
32 # https://github.com/rubygems/rubygems.org/issues/613.
33 RUN /usr/local/rvm/bin/rvm-exec default gem update --system && \
34     /usr/local/rvm/bin/rvm-exec default gem install bundler && \
35     /usr/local/rvm/bin/rvm-exec default bundle install --gemfile=/usr/src/arvados/apps/workbench/Gemfile && \
36     /usr/local/rvm/bin/rvm-exec default bundle install --gemfile=/usr/src/arvados/services/api/Gemfile && \
37     /usr/local/rvm/bin/rvm-exec default bundle install --gemfile=/usr/src/arvados/doc/Gemfile
38
39 ADD generated/id_rsa.pub /root/.ssh/authorized_keys
40 RUN chown root:root /root/.ssh/authorized_keys