diff options
author | scarlett <nia@netbsd.org> | 2018-12-16 12:33:50 +0000 |
---|---|---|
committer | scarlett <nia@netbsd.org> | 2018-12-16 12:33:50 +0000 |
commit | 9d3eda1959197974ad7586a720cabf93b4d4ea0d (patch) | |
tree | 82768d7175cdcefaa7954ac0bfc6299bb4570a2b /installation | |
parent | 41e3401c5cb4f57291b324c1d3377660f7fc356e (diff) | |
download | pleroma-9d3eda1959197974ad7586a720cabf93b4d4ea0d.tar.gz |
Add an rc.d script for NetBSD.
Diffstat (limited to 'installation')
-rwxr-xr-x | installation/netbsd/rc.d/pleroma | 66 |
1 files changed, 66 insertions, 0 deletions
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 |