Merge branch '1692-redesign-dashboard'
[arvados.git] / docker / base / Dockerfile
index 47c95f2a47c937adb119fc48787b734bbb4a4ba7..5bbee240110e457d188b2a731e02289ca3895b92 100644 (file)
@@ -4,18 +4,34 @@
 FROM arvados/debian:wheezy
 MAINTAINER Tim Pierce <twp@clinicalfuture.com>
 
+ENV DEBIAN_FRONTEND noninteractive
+
 # Install prerequisite packages for Arvados
 #   * git, curl, rvm
-#   * Arvados source code
-#
+#   * Arvados source code in /usr/src/arvados-upstream, for preseeding gem installation
+
 RUN apt-get update && \
-    apt-get -q -y install -q -y apt-utils && \
-    apt-get -q -y install git curl && \
-    curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0
+    apt-get -q -y install -q -y openssh-server apt-utils git curl locales postgresql-server-dev-9.1 && \
+    /bin/mkdir -p /root/.ssh && \
+    /bin/sed -ri 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
+    /usr/sbin/locale-gen && \
+    curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0 && \
+    git clone https://github.com/clinicalfuture/arvados.git /usr/src/arvados-upstream
 
 # Set up RVM environment. These are just the env variables created by
 # /usr/local/rvm/scripts/rvm, which can't be run from a non-login shell.
 # TODO(twp): figure out a less awful solution.
-ENV GEM_HOME /usr/local/rvm/gems/ruby-2.0.0-p247
-ENV GEM_PATH /usr/local/rvm/gems/ruby-2.0.0-p247:/usr/local/rvm/gems/ruby-2.0.0-p247@global
-ENV PATH /usr/local/rvm/gems/ruby-2.0.0-p247/bin:/usr/local/rvm/gems/ruby-2.0.0-p247@global/bin:/usr/local/rvm/rubies/ruby-2.0.0-p247/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ENV GEM_HOME /usr/local/rvm/gems/ruby-2.0.0-p353
+ENV GEM_PATH /usr/local/rvm/gems/ruby-2.0.0-p353:/usr/local/rvm/gems/ruby-2.0.0-p353@global
+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
+
+# Update gem. This (hopefully) fixes
+# https://github.com/rubygems/rubygems.org/issues/613.
+RUN gem update --system && \
+    gem install bundler && \
+    bundle install --gemfile=/usr/src/arvados-upstream/apps/workbench/Gemfile && \
+    bundle install --gemfile=/usr/src/arvados-upstream/services/api/Gemfile && \
+    bundle install --gemfile=/usr/src/arvados-upstream/doc/Gemfile
+
+ADD generated/id_rsa.pub /root/.ssh/authorized_keys
+RUN chown root:root /root/.ssh/authorized_keys