#!/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