From 9d3eda1959197974ad7586a720cabf93b4d4ea0d Mon Sep 17 00:00:00 2001 From: scarlett Date: Sun, 16 Dec 2018 12:33:50 +0000 Subject: [PATCH] Add an rc.d script for NetBSD. --- installation/netbsd/rc.d/pleroma | 66 ++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 installation/netbsd/rc.d/pleroma diff --git a/installation/netbsd/rc.d/pleroma b/installation/netbsd/rc.d/pleroma new file mode 100755 index 000000000..34b818270 --- /dev/null +++ b/installation/netbsd/rc.d/pleroma @@ -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