changeset 1571:4c2b25b7e85f dockerise

Inching along
author Chris Cannam
date Thu, 03 Aug 2017 16:38:41 +0100
parents ae2f71010562
children 2b1b8ebb7d98
files .dockerignore extra/soundsoftware/dockertest/Dockerfile extra/soundsoftware/dockertest/code.conf extra/soundsoftware/dockertest/passenger.conf extra/soundsoftware/dockertest/passenger.load extra/soundsoftware/dockertest/perl.conf extra/soundsoftware/dockertest/start.sh
diffstat 7 files changed, 35 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/.dockerignore	Thu Aug 03 13:42:55 2017 +0100
+++ b/.dockerignore	Thu Aug 03 16:38:41 2017 +0100
@@ -1,3 +1,4 @@
 .dockerignore
 .hg
 extra/soundsoftware/dockertest/Dockerfile
+extra/soundsoftware/dockertest/start.sh
--- a/extra/soundsoftware/dockertest/Dockerfile	Thu Aug 03 13:42:55 2017 +0100
+++ b/extra/soundsoftware/dockertest/Dockerfile	Thu Aug 03 16:38:41 2017 +0100
@@ -62,9 +62,8 @@
 WORKDIR /var/www/code
 
 
-# Set up Apache config and webapp database config (todo: insert variables)
+# Set up database config (todo: insert variables)
 
-RUN cp extra/soundsoftware/dockertest/code.conf /etc/apache2/sites-available/
 RUN cp extra/soundsoftware/dockertest/database.yml config/database.yml
 
 
@@ -77,8 +76,7 @@
 # Import Postgres database from postgres-dumpall file
 
 RUN chown postgres postgres-dumpall
-RUN /etc/init.d/postgresql start && \
-  sudo -u postgres psql -f postgres-dumpall postgres
+RUN /etc/init.d/postgresql start && sudo -u postgres psql -f postgres-dumpall postgres
 
 
 # Install Perl auth module for Hg access
@@ -87,7 +85,27 @@
 RUN cp extra/soundsoftware/SoundSoftware.pm /usr/local/lib/site_perl/Apache/Authn/
 
 
-# Enable site for Apache
+# Set up Apache config (todo: insert variables)
 
+RUN rm -f /etc/apache2/sites-enabled/000-default.conf
+
+RUN cp extra/soundsoftware/dockertest/passenger.conf /etc/apache2/mods-available/
+RUN cp extra/soundsoftware/dockertest/passenger.load /etc/apache2/mods-available/
+RUN cp extra/soundsoftware/dockertest/perl.conf      /etc/apache2/mods-available/
+
+RUN ln -s ../mods-available/passenger.conf  /etc/apache2/mods-enabled/
+RUN ln -s ../mods-available/passenger.load  /etc/apache2/mods-enabled/
+RUN ln -s ../mods-available/perl.conf       /etc/apache2/mods-enabled/
+RUN ln -s ../mods-available/expires.load    /etc/apache2/mods-enabled/
+RUN ln -s ../mods-available/rewrite.load    /etc/apache2/mods-enabled/
+
+RUN cp extra/soundsoftware/dockertest/code.conf /etc/apache2/sites-available/
 RUN ln -s ../sites-available/code.conf /etc/apache2/sites-enabled/10-code.conf
+
+
+# Start Apache
+
 RUN apache2ctl configtest
+EXPOSE 80
+CMD apache2ctl -D FOREGROUND
+
--- a/extra/soundsoftware/dockertest/code.conf	Thu Aug 03 13:42:55 2017 +0100
+++ b/extra/soundsoftware/dockertest/code.conf	Thu Aug 03 16:38:41 2017 +0100
@@ -14,7 +14,7 @@
         PassengerMaxRequests 50000
         PassengerStatThrottleRate 5
 	PassengerStartTimeout 60
-	PassengerFriendlyErrorPages off
+	PassengerFriendlyErrorPages on
         RailsSpawnMethod smart
         ExpiresDefault "access plus 1 minute"
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/soundsoftware/dockertest/passenger.conf	Thu Aug 03 16:38:41 2017 +0100
@@ -0,0 +1,2 @@
+PassengerMaxPoolSize 60
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/soundsoftware/dockertest/passenger.load	Thu Aug 03 16:38:41 2017 +0100
@@ -0,0 +1,3 @@
+LoadModule passenger_module /var/lib/gems/2.3.0/gems/passenger-4.0.60/buildout/apache2/mod_passenger.so
+PassengerRoot /var/lib/gems/2.3.0/gems/passenger-4.0.60
+PassengerDefaultRuby /usr/bin/ruby2.3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/soundsoftware/dockertest/perl.conf	Thu Aug 03 16:38:41 2017 +0100
@@ -0,0 +1,4 @@
+# Apache::DBI is supposed to be a transparent replacement for Perl DBI with
+# better performance when multiple connections are made with common DSN, user
+# and password
+PerlModule Apache::DBI
--- a/extra/soundsoftware/dockertest/start.sh	Thu Aug 03 13:42:55 2017 +0100
+++ b/extra/soundsoftware/dockertest/start.sh	Thu Aug 03 16:38:41 2017 +0100
@@ -11,4 +11,5 @@
 dockertag="cannam/soundsoftware-site"
 
 sudo docker build -t "$dockertag" -f "$dockerdir/Dockerfile" .
+sudo docker run -p 8080:80 -d "$dockertag"