Add SSO docker container
[arvados.git] / docker / sso / Dockerfile
1 # Arvados API server Docker container.
2
3 FROM arvados/base
4 MAINTAINER Ward Vandewege <ward@clinicalfuture.com>
5
6 RUN apt-get update ;\
7     apt-get install -q -y apt-utils git curl procps apache2-mpm-worker locales \
8                           libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev ;\
9     git clone git://github.com/clinicalfuture/sso-devise-omniauth-provider.git /usr/src/sso-provider ;\
10     bundle install --gemfile=/usr/src/sso-provider/Gemfile ;\
11     gem install passenger -v 4.0.24 ;\
12     passenger-install-apache2-module --auto
13
14 # Install generated config files
15 ADD generated/secret_token.rb /usr/src/sso-provider/config/initializers/secret_token.rb
16 ADD generated/seeds.rb /usr/src/sso-provider/db/seeds.rb
17 ADD generated/apache2_vhost /etc/apache2/sites-available/sso-provider
18 ADD generated/apache2_vhost /etc/apache2/sites-available/sso-provider
19
20 # Configure Apache and Passenger.
21 ADD passenger.conf /etc/apache2/conf.d/passenger
22 RUN a2dissite default ; \
23     a2ensite sso-provider ; \
24     a2enmod rewrite ; \
25     a2enmod ssl ; \
26     cd /usr/src/sso-provider; RAILS_ENV=production rake db:setup ; rake assets:precompile ; \
27     chown www-data:www-data /usr/src/sso-provider/tmp_omniauth /usr/src/sso-provider/log -R ; \
28     /bin/mkdir /var/run/apache2
29
30 ADD apache2_foreground.sh /etc/apache2/foreground.sh
31
32 # Start the supervisor.
33 CMD ["/etc/apache2/foreground.sh"]