From 1192c84e1356d225da08809ae77b516df660a281 Mon Sep 17 00:00:00 2001 From: Richard North Date: Sun, 9 Jun 2013 10:07:28 +0100 Subject: [PATCH] Sourcing the profile files which Heroku buildpacks set up for us (in /app/.profile.d), so that dependencies downloaded by the buildpack are available on PATH. The docker run command which starts the app is now a little verbose so maybe should be refactored into a separate script; part of the verbosity is because of guarding against absence of the .profile.d directory. This is to support use of the Java buildpack but has also been tested working for a simple Ruby web app. --- receiver | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/receiver b/receiver index 2c3cc2a2e..221ddf3c1 100755 --- a/receiver +++ b/receiver @@ -12,10 +12,11 @@ if [[ -f "$HOME/$1/PORT" ]]; then OLDID=$(< "$HOME/$1/CONTAINER") docker kill $OLDID > /dev/null PORT=$(< "$HOME/$1/PORT") - ID=$(docker run -d -p ":$PORT" -e "PORT=$PORT" $APP /bin/bash -c "cd /app && ./start") echo $ID > "$HOME/$1/CONTAINER" + ID=$(docker run -d -p ":$PORT" -e "PORT=$PORT" $APP /bin/bash -c "if [ -d /app/.profile.d ]; then source /app/.profile.d/*; fi; cd /app && ./start") else - ID=$(docker run -d -p 5000 -e PORT=5000 $APP /bin/bash -c "cd /app && ./start") + + ID=$(docker run -d -p 5000 -e PORT=5000 $APP /bin/bash -c "if [ -d /app/.profile.d ]; then source /app/.profile.d/*; fi; cd /app && ./start") echo $ID > "$HOME/$1/CONTAINER" PORT=$(docker inspect $ID | ruby -e 'require"json";puts JSON.parse(STDIN.read)["NetworkSettings"]["PortMapping"]["5000"]') echo $PORT > "$HOME/$1/PORT" @@ -31,4 +32,4 @@ if [[ $DOMAIN ]]; then else echo " http://$(hostname -i | cut -d' ' -f3):$PORT" fi -echo +echo \ No newline at end of file