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