Deploy containers with working copy of sources.
[arvados.git] / docker / workbench / Dockerfile
1 # Arvados Workbench Docker container.
2
3 FROM arvados/base
4 MAINTAINER Ward Vandewege <ward@clinicalfuture.com>
5
6 ENV DEBIAN_FRONTEND noninteractive
7
8 # Install packages
9 # Fix Locale
10 # Update Arvados source
11 RUN /bin/mkdir -p /usr/src/arvados/apps
12 ADD generated/workbench.tar.gz /usr/src/arvados/apps/
13 RUN \
14     apt-get update ;\
15     apt-get install -q -y apt-utils git curl procps apache2-mpm-worker locales \
16                           libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev ;\
17     curl -L https://get.rvm.io | bash -s stable --ruby=${RUBY_VERSION_NUM} ;\
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     touch /usr/src/arvados/apps/workbench/log/production.log ;\
21     chmod 666 /usr/src/arvados/apps/workbench/log/production.log ;\
22     touch /usr/src/arvados/apps/workbench/db/production.sqlite3 ;\
23     bundle install --gemfile=/usr/src/arvados/apps/workbench/Gemfile ;\
24     cd /usr/src/arvados/apps/workbench; rake assets:precompile ;\
25     passenger-install-apache2-module --auto ;\
26     a2enmod rewrite
27
28 # Configure Apache
29 ADD generated/apache2_vhost /etc/apache2/sites-available/workbench
30 RUN \
31   a2dissite default ;\
32   a2ensite workbench 
33
34 # Set up the production environment
35 ADD generated/secret_token.rb /usr/src/arvados/apps/workbench/config/initializers/secret_token.rb
36 ADD generated/production.rb /usr/src/arvados/apps/workbench/config/environments/production.rb
37 ADD passenger.conf /etc/apache2/conf.d/passenger
38
39 # Finally, start Apache
40 ENV APACHE_RUN_USER    www-data
41 ENV APACHE_RUN_GROUP   www-data
42 ENV APACHE_PID_FILE    /var/run/apache2.pid
43 ENV APACHE_RUN_DIR     /var/run/apache2
44 ENV APACHE_LOCK_DIR    /var/lock/apache2
45 ENV APACHE_LOG_DIR     /var/log/apache2
46 ENV LANG               C
47
48 CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]
49