changeset 1574:7b23adecd963 dockerise

Accept password from user
author Chris Cannam
date Thu, 03 Aug 2017 20:51:41 +0100
parents 8edb54e29f00
children 42618fc5ab46
files .hgignore extra/soundsoftware/dockertest/Dockerfile extra/soundsoftware/dockertest/start.sh
diffstat 3 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Thu Aug 03 20:20:18 2017 +0100
+++ b/.hgignore	Thu Aug 03 20:51:41 2017 +0100
@@ -37,5 +37,5 @@
 .bundle
 Gemfile.lock
 Gemfile.local
-
+*.interpolated
 re:^config\.ru$
--- a/extra/soundsoftware/dockertest/Dockerfile	Thu Aug 03 20:20:18 2017 +0100
+++ b/extra/soundsoftware/dockertest/Dockerfile	Thu Aug 03 20:51:41 2017 +0100
@@ -67,9 +67,9 @@
 WORKDIR /var/www/code
 
 
-# Set up database config etc (todo: insert variables)
+# Set up database config etc
 
-RUN cp extra/soundsoftware/dockertest/database.yml config/database.yml
+RUN cp extra/soundsoftware/dockertest/database.yml.interpolated config/database.yml
 
 
 # Install Rails and dependencies (database.yml must be populated before this)
@@ -109,7 +109,7 @@
 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 cp extra/soundsoftware/dockertest/code.conf.interpolated /etc/apache2/sites-available/code.conf
 RUN ln -s ../sites-available/code.conf /etc/apache2/sites-enabled/10-code.conf
 
 RUN apache2ctl configtest
--- a/extra/soundsoftware/dockertest/start.sh	Thu Aug 03 20:20:18 2017 +0100
+++ b/extra/soundsoftware/dockertest/start.sh	Thu Aug 03 20:51:41 2017 +0100
@@ -1,5 +1,11 @@
 #!/bin/bash
 
+dbpwd="$1"
+if [ -z "$dbpwd" ]; then
+    echo "Usage: $0 <database-password>" 1>&2
+    exit 2
+fi
+
 set -eu
 
 dockerdir=./extra/soundsoftware/dockertest
@@ -8,6 +14,12 @@
     exit 2
 fi
 
+for f in database.yml code.conf ; do
+    cat "$dockerdir/$f" |
+        sed 's/INSERT_POSTGRES_PASSWORD_HERE/'"$dbpwd"'/g' > \
+            "$dockerdir/$f.interpolated"
+done
+
 dockertag="cannam/soundsoftware-site"
 
 sudo docker build -t "$dockertag" -f "$dockerdir/Dockerfile" .