Fix up pipeline_instances#index and #compare.
[arvados.git] / docker / workbench / Dockerfile
index d46a53139371b9b7fe97a6e10a6cb0fd451dfdef..7bbc24508ab58909654172436737a1a66fdc7c21 100644 (file)
@@ -1,50 +1,33 @@
-# Arvados API server Docker container.
+# Arvados Workbench Docker container.
 
-FROM arvados/base
+FROM arvados/passenger
 MAINTAINER Ward Vandewege <ward@clinicalfuture.com>
 
-# Need to set the mysql passwords before installing mysql-server
-ENV DEBIAN_FRONTEND noninteractive
-
-# Install packages
-# Fix Locale
 # Update Arvados source
-RUN \
-    apt-get update ;\
-    apt-get install -q -y apt-utils git curl procps apache2-mpm-worker locales \
-                          libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev ;\
-    curl -L https://get.rvm.io | bash -s stable --ruby=${RUBY_VERSION_NUM} ;\
-    /bin/sed -ri 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen ;\
-    /usr/sbin/locale-gen ;\
-    cd /usr/src/arvados; git pull ;\
-    touch /usr/src/arvados/apps/workbench/log/production.log ;\
-    chmod 666 /usr/src/arvados/apps/workbench/log/production.log ;\
-    touch /usr/src/arvados/apps/workbench/db/production.sqlite3 ;\
-    bundle install --gemfile=/usr/src/arvados/apps/workbench/Gemfile ;\
-    cd /usr/src/arvados/apps/workbench; rake assets:precompile ;\
-    passenger-install-apache2-module --auto ;\
-    a2enmod rewrite
+RUN /bin/mkdir -p /usr/src/arvados/apps
+ADD generated/workbench.tar.gz /usr/src/arvados/apps/
+
+RUN touch /usr/src/arvados/apps/workbench/log/production.log && \
+    chmod 666 /usr/src/arvados/apps/workbench/log/production.log && \
+    touch /usr/src/arvados/apps/workbench/db/production.sqlite3 && \
+    bundle install --gemfile=/usr/src/arvados/apps/workbench/Gemfile && \
+    cd /usr/src/arvados/apps/workbench && \
+    rake assets:precompile
 
 # Configure Apache
-# Install gems needed for workbench
-ADD apache2_vhost /etc/apache2/sites-available/workbench
+ADD generated/apache2_vhost /etc/apache2/sites-available/workbench
 RUN \
-  a2dissite default ;\
-  a2ensite workbench 
+  a2dissite default && \
+  a2ensite workbench && \
+  a2enmod rewrite
 
 # Set up the production environment
-ADD secret_token.rb /usr/src/arvados/apps/workbench/config/initializers/secret_token.rb
-ADD production.rb /usr/src/arvados/apps/workbench/config/environments/production.rb
+ADD generated/secret_token.rb /usr/src/arvados/apps/workbench/config/initializers/secret_token.rb
+ADD generated/production.rb /usr/src/arvados/apps/workbench/config/environments/production.rb
 ADD passenger.conf /etc/apache2/conf.d/passenger
 
-# Finally, start Apache
-ENV APACHE_RUN_USER    www-data
-ENV APACHE_RUN_GROUP   www-data
-ENV APACHE_PID_FILE    /var/run/apache2.pid
-ENV APACHE_RUN_DIR     /var/run/apache2
-ENV APACHE_LOCK_DIR    /var/lock/apache2
-ENV APACHE_LOG_DIR     /var/log/apache2
-ENV LANG               C
+ADD apache2_foreground.sh /etc/apache2/foreground.sh
 
-CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]
+# Start Apache
+CMD ["/etc/apache2/foreground.sh"]