Created
June 14, 2019 09:58
-
-
Save getaclue00/ba1cbd557c31772b929658224e6b8110 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
# /etc/init/puma.conf - Puma config | |
# This example config should work with Ubuntu 12.04+. It | |
# allows you to manage multiple Puma instances with | |
# Upstart, Ubuntu's native service management tool. | |
# | |
# See puma-manager.conf for how to manage all Puma instances at once. | |
# | |
# Save this config as /etc/init/puma.conf then manage puma with: | |
# sudo start puma app=PATH_TO_APP | |
# sudo stop puma app=PATH_TO_APP | |
# sudo status puma app=PATH_TO_APP | |
# | |
# or use the service command: | |
# sudo service puma {start,stop,restart,status} | |
# | |
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 apps | |
setgid apps | |
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