summaryrefslogtreecommitdiff
path: root/installation
diff options
context:
space:
mode:
authorscarlett <nia@netbsd.org>2018-12-16 12:33:50 +0000
committerscarlett <nia@netbsd.org>2018-12-16 12:33:50 +0000
commit9d3eda1959197974ad7586a720cabf93b4d4ea0d (patch)
tree82768d7175cdcefaa7954ac0bfc6299bb4570a2b /installation
parent41e3401c5cb4f57291b324c1d3377660f7fc356e (diff)
Add an rc.d script for NetBSD.
Diffstat (limited to 'installation')
-rwxr-xr-xinstallation/netbsd/rc.d/pleroma66
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