aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscarlett <nia@netbsd.org>2018-12-16 13:19:27 +0000
committerscarlett <nia@netbsd.org>2018-12-16 13:19:27 +0000
commit8fadc1b6a2c0490a118f4236de35a337cfc4e565 (patch)
tree65e4828d61c99d685a0f0ba4a70dc6731f5996c0
parent41e3401c5cb4f57291b324c1d3377660f7fc356e (diff)
parent4b40e4188c9d9ccbe1c5908fc4bead09ad2c08f2 (diff)
downloadpleroma-8fadc1b6a2c0490a118f4236de35a337cfc4e565.tar.gz
Merge branch 'netbsd-script' into 'develop'
Add an rc.d script for NetBSD. See merge request pleroma/pleroma!558
-rwxr-xr-xinstallation/netbsd/rc.d/pleroma57
1 files changed, 57 insertions, 0 deletions
diff --git a/installation/netbsd/rc.d/pleroma b/installation/netbsd/rc.d/pleroma
new file mode 100755
index 000000000..1114668ee
--- /dev/null
+++ b/installation/netbsd/rc.d/pleroma
@@ -0,0 +1,57 @@
+#!/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="--detached -S /usr/pkg/bin/mix phx.server"
+start_precmd="ulimit -n unlimited"
+pidfile="/dev/null"
+
+pleroma_chdir="${pleroma_home}/pleroma"
+pleroma_env="HOME=${pleroma_home} MIX_ENV=prod"
+
+check_pidfile()
+{
+ pid=$(pgrep -U "${pleroma_user}" /bin/beam.smp$)
+ echo -n "${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}."
+ check_pidfile
+ ! [ -n ${pid} ] && kill ${pid}
+ ;;
+
+ restart)
+ ( $0 stop )
+ sleep 5
+ $0 start
+ ;;
+
+ *)
+ echo 1>&2 "Usage: $0 [start|stop|restart]"
+ exit 1
+ ;;
+ esac
+ exit 0
+fi