diff --git a/contrib/README.md b/contrib/README.md index d0d5b7b9..25bb36f4 100644 --- a/contrib/README.md +++ b/contrib/README.md @@ -30,6 +30,7 @@ however if your copyparty is behind a reverse-proxy, you may want to use [`share # OS integration init-scripts to start copyparty as a service * [`systemd/copyparty.service`](systemd/copyparty.service) runs the sfx normally +* [`rc/copyparty`](rc/copyparty) runs sfx normally on freebsd, create a `copyparty` user * [`systemd/prisonparty.service`](systemd/prisonparty.service) runs the sfx in a chroot * [`openrc/copyparty`](openrc/copyparty) diff --git a/contrib/rc/copyparty b/contrib/rc/copyparty new file mode 100644 index 00000000..4fcaccdf --- /dev/null +++ b/contrib/rc/copyparty @@ -0,0 +1,31 @@ +#!/bin/sh +# +# PROVIDE: copyparty +# REQUIRE: networking +# KEYWORD: + +. /etc/rc.subr + +name="copyparty" +rcvar="copyparty_enable" +copyparty_user="copyparty" +copyparty_args="-e2dsa -v /storage:/storage:r" # change as you see fit +copyparty_command="/usr/local/bin/python3.8 /usr/local/copyparty/copyparty-sfx.py ${copyparty_args}" +pidfile="/var/run/copyparty/${name}.pid" +command="/usr/sbin/daemon" +command_args="-P ${pidfile} -r -f ${copyparty_command}" + +stop_postcmd="copyparty_shutdown" + +copyparty_shutdown() +{ + if [ -e "${pidfile}" ]; then + echo "Stopping supervising daemon." + kill -s TERM `cat ${pidfile}` + fi +} + +load_rc_config $name +: ${copyparty_enable:=no} + +run_rc_command "$1"