From bcfaefa896b564ad1bbfb75b32ffc26f7c9549a9 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 25 Oct 2013 02:42:49 -0400 Subject: [PATCH] Enable 'nginx reload' support for git and dokku user. Refs #124. Refs #186 --- plugins/nginx-vhosts/install | 21 ++++++++------------- plugins/nginx-vhosts/post-deploy | 2 +- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/plugins/nginx-vhosts/install b/plugins/nginx-vhosts/install index f03b0b80c..2341b3202 100755 --- a/plugins/nginx-vhosts/install +++ b/plugins/nginx-vhosts/install @@ -5,18 +5,14 @@ add-apt-repository -y ppa:nginx/stable apt-get update apt-get install -y nginx dnsutils -cat< /etc/init/nginx-reloader.conf -description "Dokku nginx reloader service" - -start on runlevel [2345] -stop on runlevel [!2345] - -script - [[ -f /home/git/reload-nginx ]] && rm -rf /home/git/reload-nginx - echo | sudo -u git nc -l -U /home/git/reload-nginx && /etc/init.d/nginx reload -end script -respawn -EOF +if ! grep -q dokku-nginx-reload "/etc/sudoers"; then + touch /etc/sudoers.tmp + cp /etc/sudoers /tmp/sudoers.new + echo "%dokku ALL=(ALL)NOPASSWD:/etc/init.d/nginx reload # dokku-nginx-reload" >> /tmp/sudoers.new + echo "%git ALL=(ALL)NOPASSWD:/etc/init.d/nginx reload # dokku-nginx-reload" >> /tmp/sudoers.new + EDITOR="cp /tmp/sudoers.new" visudo + rm /tmp/sudoers.new +fi echo "include /home/git/*/nginx.conf;" > /etc/nginx/conf.d/dokku.conf @@ -25,4 +21,3 @@ sed -i 's/# server_names_hash_bucket_size/server_names_hash_bucket_size/' /etc/n [[ $(dig +short $HOSTNAME) ]] && echo $HOSTNAME > /home/git/VHOST /etc/init.d/nginx start -start nginx-reloader || true diff --git a/plugins/nginx-vhosts/post-deploy b/plugins/nginx-vhosts/post-deploy index 79f77b907..1a02d7118 100755 --- a/plugins/nginx-vhosts/post-deploy +++ b/plugins/nginx-vhosts/post-deploy @@ -79,5 +79,5 @@ EOF echo "http://$hostname" > "$HOME/$APP/URL" fi pluginhook nginx-pre-reload $APP - nc -U $HOME/reload-nginx + sudo /etc/init.d/nginx reload fi