aports/main/uwsgi/uwsgi.initd
Natanael Copa b29a9c6b71 main/uwsgi: fix permissions of log and socket dir
enable group write permissions to socket dir and to log dir so clidren
have the permissions to create sockets and logfiles

create the log directory from apk
2017-04-11 16:45:25 +00:00

85 lines
2.1 KiB
Plaintext

#!/sbin/openrc-run
# If you want to run multiple separate processes, then create symlinks to
# this runscript (e.g. uwsgi.myapp or myapp) and configure options in
# the corresponding conf.d files. uWSGI options can be specified using
# variable uwsgi_opts or config file specified by variable uwsgi_conf.
: ${pidfile:="/run/$RC_SVCNAME/uwsgi.pid"}
extra_started_commands='reload stats'
description_reload='Gracefully reload all the workers and the master process'
description_stats='Dump uWSGI statistics to log file'
command='/usr/sbin/uwsgi'
command_args="--die-on-term ${uwsgi_opts:-}"
command_background='yes'
start_stop_daemon_args='--quiet'
retry='INT/30/KILL/5'
if [ "$RC_SVCNAME" = 'uwsgi' ]; then
: ${name:="uWSGI emperor"}
emperor='yes'
else
: ${name:="uWSGI application ${RC_SVCNAME#uwsgi.}"}
emperor='no'
fi
depend() {
need net
use apache2 lighttpd nginx
after postgresql
}
start_pre() {
if [ "$emperor" = 'yes' ]; then
: ${logfile:="/var/log/uwsgi/uwsgi.log"}
: ${user:="root"}
else
: ${user:="nobody"}
command_args="--master $command_args"
fi
start_stop_daemon_args="$start_stop_daemon_args
--user $user
$(optif --group "$group")
$(optif --stdout "$logfile")
$(optif --stderr "$logfile")"
if [ -z "$uwsgi_conf" ]; then
case "$RC_SVCNAME" in
uwsgi) uwsgi_conf='/etc/uwsgi/uwsgi.ini';;
uwsgi.*) uwsgi_conf="/etc/uwsgi/conf.d/${RC_SVCNAME#uwsgi.}";;
*) uwsgi_conf="/etc/$RC_SVCNAME/uwsgi";;
esac
fi
if [ -f "${uwsgi_conf%.ini}.ini" ]; then
command_args="$command_args --ini ${uwsgi_conf%.ini}.ini"
elif [ -f "${uwsgi_conf%.yml}.yml" ]; then
command_args="$command_args --yaml ${uwsgi_conf%.yml}.yml"
fi
checkpath -d -m 775 -o $user:$group \
"$(dirname "$pidfile")"
if yesno "$EINFO_VERBOSE"; then
einfo "Command: $command $(printf '%s ' $command_args)"
fi
}
reload() {
ebegin "Reloading $name"
start-stop-daemon --signal HUP --pidfile "$pidfile"
eend $?
}
stats() {
ebegin "Dumping statistics for $name to the log file"
start-stop-daemon --signal USR1 --pidfile "$pidfile"
eend $?
}
optif() {
test -n "$2" && printf "%s %s\n" "$1" "$2"
}