Should probably wait to install ruby before setting GEM_HOME and friends.
[arvados.git] / docker / bcbio-nextgen / Dockerfile
1 FROM bcbio-nextgen
2 MAINTAINER Peter Amstutz <peter.amstutz@curoverse.com>
3
4 USER root
5
6 # Install Ruby 2.1.0
7 RUN apt-get remove --quiet --assume-yes ruby && \
8     curl -L https://get.rvm.io | bash -s stable && \
9     /usr/local/rvm/bin/rvm install 2.1.0 && \
10     /bin/mkdir -p /usr/src/arvados
11
12 ADD generated/arvados.tar.gz /usr/src/arvados/
13 ENV GEM_HOME /usr/local/rvm/gems/ruby-2.1.0
14 ENV GEM_PATH /usr/local/rvm/gems/ruby-2.1.0:/usr/local/rvm/gems/ruby-2.1.0@global
15 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
16
17 # Install dependencies and set up system.
18 # The FUSE packages help ensure that we can install the Python SDK (arv-mount).
19 RUN /usr/bin/apt-get update && \
20     /usr/bin/apt-get install --quiet --assume-yes python-dev python-llfuse python-pip \
21       libio-socket-ssl-perl libjson-perl liburi-perl libwww-perl \
22       fuse libattr1-dev libfuse-dev && \
23     /usr/sbin/adduser --disabled-password \
24       --gecos 'Crunch execution user' crunch && \
25     /usr/bin/install --directory --owner=crunch --group=crunch --mode=0700 /keep /tmp/crunch-src /tmp/crunch-job && \
26     /bin/ln -s /usr/src/arvados /usr/local/src/arvados
27
28 # Install Arvados packages.
29 RUN gem update --system && \
30     find /usr/src/arvados/sdk -name '*.gem' -print0 | \
31       xargs -0rn 1 gem install && \
32     cd /usr/src/arvados/services/fuse && \
33     python setup.py install && \
34     cd /usr/src/arvados/sdk/python && \
35     python setup.py install
36
37 USER crunch