From 56472bd08c2a79f97b884269d9b05fd80308dbb5 Mon Sep 17 00:00:00 2001 From: Michael Hobbs Date: Tue, 16 Dec 2014 23:01:32 -0800 Subject: [PATCH] VHOST fallback --- plugins/00_dokku-standard/commands | 4 ++++ plugins/domains/commands | 31 +++++++++++++++++++----------- plugins/nginx-vhosts/commands | 4 +++- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/plugins/00_dokku-standard/commands b/plugins/00_dokku-standard/commands index aaf493ddd..148be9992 100755 --- a/plugins/00_dokku-standard/commands +++ b/plugins/00_dokku-standard/commands @@ -72,6 +72,10 @@ case "$1" in done ;; esac + elif [[ -f "$DOKKU_ROOT/VHOST" ]]; then + echo "$SCHEME://$(< "$DOKKU_ROOT/VHOST")" + else + echo "$SCHEME://$(< "$DOKKU_ROOT/HOSTNAME")" fi ;; diff --git a/plugins/domains/commands b/plugins/domains/commands index 14c7b01a8..3836f90e3 100755 --- a/plugins/domains/commands +++ b/plugins/domains/commands @@ -18,19 +18,28 @@ case "$1" in APP="$2"; VHOST_PATH="$DOKKU_ROOT/$APP/VHOST" if [[ ! -f $VHOST_PATH ]]; then - echo "-----> Creating new $VHOST_PATH..." - VHOST=$(< "$DOKKU_ROOT/VHOST") - SUBDOMAIN=${APP/%\.${VHOST}/} - hostname=$(: | pluginhook nginx-hostname $APP $SUBDOMAIN $VHOST) - if [[ ! -n $hostname ]]; then - if [[ "$APP" == *.* ]] && [[ "$SUBDOMAIN" == "$APP" ]]; then - hostname="${APP/\//-}" - else - hostname="${APP/\//-}.$VHOST" - fi + if [[ -f "$DOKKU_ROOT/VHOST" ]];then + VHOST=$(< "$DOKKU_ROOT/VHOST") + else + VHOST=$(< "$DOKKU_ROOT/HOSTNAME") fi + if [[ "$VHOST" =~ ([0-9]{1,3}[\.]){3}[0-9]{1,3} ]];then + echo "ip found as hostname. disabling vhost support" + [[ ! $(grep -q NO_VHOST "$DOKKU_ROOT/$APP/ENV") ]] && echo "export NO_VHOST='1'" >> "$DOKKU_ROOT/$APP/ENV" + else + echo "-----> Creating new $VHOST_PATH..." + SUBDOMAIN=${APP/%\.${VHOST}/} + hostname=$(: | pluginhook nginx-hostname $APP $SUBDOMAIN $VHOST) + if [[ ! -n $hostname ]]; then + if [[ "$APP" == *.* ]] && [[ "$SUBDOMAIN" == "$APP" ]]; then + hostname="${APP/\//-}" + else + hostname="${APP/\//-}.$VHOST" + fi + fi - echo $hostname > $VHOST_PATH + echo "$hostname" > $VHOST_PATH + fi fi ;; diff --git a/plugins/nginx-vhosts/commands b/plugins/nginx-vhosts/commands index c961bc5f0..eed58c1e7 100755 --- a/plugins/nginx-vhosts/commands +++ b/plugins/nginx-vhosts/commands @@ -20,9 +20,11 @@ case "$1" in VHOST_PATH="$DOKKU_ROOT/$APP/VHOST" WILDCARD_SSL="$DOKKU_ROOT/tls" SSL="$DOKKU_ROOT/$APP/tls" - NONSSL_VHOSTS=`cat $VHOST_PATH` + + [[ -f "$DOKKU_ROOT/$APP/ENV" ]] && source $DOKKU_ROOT/$APP/ENV if [[ ! -n "$NO_VHOST" ]]; then + NONSSL_VHOSTS=`cat $VHOST_PATH` if [[ -e "$SSL/server.crt" ]] && [[ -e "$SSL/server.key" ]]; then SSL_INUSE="$SSL" SSL_DIRECTIVES=$(cat <