Last active
April 4, 2017 07:49
-
-
Save ijunaid8989/3c5d6edbd79e1a6e9df8f81fa4366d11 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
description "Puma Background Worker" | |
# no "start on", we don't want to automatically start | |
stop on (stopping puma-manager or runlevel [06]) | |
# change apps to match your deployment user if you want to use this as a less privileged user (recommended!) | |
setuid root | |
setgid root | |
respawn | |
respawn limit 3 30 | |
instance ${app} | |
script | |
# this script runs in /bin/sh by default | |
# respawn as bash so we can source in rbenv/rvm | |
# quoted heredoc to tell /bin/sh not to interpret | |
# variables | |
# source ENV variables manually as Upstart doesn't, eg: | |
#. /etc/environment | |
exec /bin/bash <<'EOT' | |
# set HOME to the setuid user's home, there doesn't seem to be a better, portable way | |
export HOME="$(eval echo ~$(id -un))" | |
if [ -d "/usr/local/rbenv/bin" ]; then | |
export PATH="/usr/local/rbenv/bin:/usr/local/rbenv/shims:$PATH" | |
elif [ -d "$HOME/.rbenv/bin" ]; then | |
export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH" | |
elif [ -f /etc/profile.d/rvm.sh ]; then | |
source /etc/profile.d/rvm.sh | |
elif [ -f /usr/local/rvm/scripts/rvm ]; then | |
source /etc/profile.d/rvm.sh | |
elif [ -f "$HOME/.rvm/scripts/rvm" ]; then | |
source "$HOME/.rvm/scripts/rvm" | |
elif [ -f /usr/local/share/chruby/chruby.sh ]; then | |
source /usr/local/share/chruby/chruby.sh | |
if [ -f /usr/local/share/chruby/auto.sh ]; then | |
source /usr/local/share/chruby/auto.sh | |
fi | |
# if you aren't using auto, set your version here | |
# chruby 2.0.0 | |
fi | |
cd $app | |
logger -t puma "Starting server: $app" | |
exec bundle exec puma -C config/puma.rb | |
EOT | |
end script |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment