X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3738c5ed84aeaf6da98bd46e2ce69574411eb520..e1e4dd922cc2d2bc9890222cc3aeffce7a00fcda:/docker/api/Dockerfile diff --git a/docker/api/Dockerfile b/docker/api/Dockerfile index 19c76a410b..cd5c17e61c 100644 --- a/docker/api/Dockerfile +++ b/docker/api/Dockerfile @@ -5,33 +5,39 @@ MAINTAINER Tim Pierce # Install postgres and apache RUN apt-get -q -y install procps postgresql postgresql-server-dev-9.1 apache2 \ - libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev - -# Configure databases and users. -ADD config_databases.sh /tmp/ -RUN sh /tmp/config_databases.sh -RUN rm /tmp/config_databases.sh + libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev \ + supervisor # Install gems needed for API server RUN bundle install --gemfile=/usr/src/arvados/services/api/Gemfile -# Set up the Rails database. This has to be done in a script so that -# postgres can run in the background while running rake db:setup. -ENV RAILS_ENV production -ADD database.yml /usr/src/arvados/services/api/config/database.yml -ADD config_rake.sh /tmp/config_rake.sh -RUN sh /tmp/config_rake.sh - -ADD secret_token.rb /usr/src/arvados/services/api/config/initializers/secret_token.rb -ADD omniauth.rb /usr/src/arvados/services/api/config/initializers/omniauth.rb -ADD production.rb /usr/src/arvados/services/api/config/environments/production.rb +# Install generated config files +ADD generated/database.yml /usr/src/arvados/services/api/config/database.yml +ADD generated/secret_token.rb /usr/src/arvados/services/api/config/initializers/secret_token.rb +ADD generated/omniauth.rb /usr/src/arvados/services/api/config/initializers/omniauth.rb +ADD generated/production.rb /usr/src/arvados/services/api/config/environments/production.rb +ADD generated/apache2_vhost /etc/apache2/sites-available/arvados -# Configure Apache. -ADD apache2_vhost /etc/apache2/sites-available/arvados -RUN a2dissite default -RUN a2ensite arvados +# Configure Rails databases. +ADD generated/config_databases.sh /tmp/config_databases.sh +ADD config_rake.sh /tmp/config_rake.sh +ENV RAILS_ENV production +RUN sh /tmp/config_databases.sh ; \ + sh /tmp/config_rake.sh ; \ + rm /tmp/config_databases.sh /tmp/config_rake.sh -# Configure Passenger. -RUN passenger-install-apache2-module --auto -RUN a2enmod rewrite +# Configure Apache and Passenger. ADD passenger.conf /etc/apache2/conf.d/passenger +RUN a2dissite default ; \ + a2ensite arvados ; \ + a2enmod rewrite ; \ + a2enmod ssl ; \ + /bin/mkdir /var/run/apache2 ; \ + passenger-install-apache2-module --auto + +# Supervisor. +ADD supervisor.conf /etc/supervisor/conf.d/arvados.conf +ADD apache2_foreground.sh /etc/apache2/foreground.sh + +# Start the supervisor. +CMD ["/usr/bin/supervisord", "-n"]