mirror of
https://github.com/puma/puma.git
synced 2022-11-09 13:48:40 -05:00
636732c447
* Remove daemonization * Fix t2 integration
69 lines
2 KiB
Text
69 lines
2 KiB
Text
# /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
|