|
|
@@ -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 |