Add an rc.d script for NetBSD.

This commit is contained in:
scarlett 2018-12-16 12:33:50 +00:00
parent 41e3401c5c
commit 9d3eda1959
1 changed files with 66 additions and 0 deletions

View File

@ -0,0 +1,66 @@
#!/bin/sh
# PROVIDE: pleroma
# REQUIRE: DAEMON pgsql
if [ -f /etc/rc.subr ]; then
. /etc/rc.subr
fi
name="pleroma"
rcvar=${name}
command="/usr/pkg/bin/elixir"
command_args="/usr/pkg/bin/mix phx.server &"
start_cmd=pleroma_start
start_precmd="ulimit -n unlimited"
pidfile="${pleroma_home}/pleroma/pid"
pleroma_chdir="${pleroma_home}/pleroma"
pleroma_env="HOME=${pleroma_home} MIX_ENV=prod"
pleroma_user="pleroma"
pleroma_start()
{
echo "Starting ${name}."
${start_precmd}
su -m ${pleroma_user} -c "cd ${pleroma_chdir} && \
${pleroma_env} ${command} ${command_args}"
echo $! > ${pidfile}
}
check_pidfile()
{
read _pid _junk < ${pidfile}
echo -n "$(ps -axo pid | grep ${_pid})"
}
if [ -f /etc/rc.subr -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then # newer NetBSD
load_rc_config ${name}
run_rc_command "$1"
else # ancient NetBSD, Solaris and illumos, Linux, etc...
cmd=${1:-start}
case ${cmd} in
start)
echo "Starting ${name}."
${start_cmd}
;;
stop)
echo "Stopping ${name}."
kill `cat ${pidfile}`
rm ${pidfile}
;;
restart)
( $0 stop )
sleep 5
$0 start
;;
*)
echo 1>&2 "Usage: $0 [start|stop|restart]"
exit 1
;;
esac
exit 0
fi