#!/bin/sh
# Start/stop/restart copyparty.

# TODO: This script probably shouldn't run copyparty as root

PIDFILE="/run/copyparty.pid"
LOGFILE="/var/log/copyparty"
CONFILE="/etc/copyparty.d/copyparty.conf"
COPYPARTY_OPTS="-c $CONFILE -lo $LOGFILE --no-ansi"

copyparty_start() {
  if [ -e "$PIDFILE" ]; then
    rm -f "$PIDFILE"
  fi
  if [ -x /usr/bin/copyparty ]; then
    echo -n "Starting copyparty: /usr/bin/copyparty $COPYPARTY_OPTS"
    /usr/bin/copyparty $COPYPARTY_OPTS 2>&1 >/dev/null &
    echo -n "$!" > "$PIDFILE"
  fi
  echo
}

copyparty_stop() {
  echo -n "Stopping copyparty... "
  if [ -e "$PIDFILE" ]; then
    echo -n "(PID $(cat "$PIDFILE"))"
    kill -HUP $(cat "$PIDFILE")
    rm -f "$PIDFILE"
  else
    killall --ns $$ -HUP -q copyparty
  fi
  echo
}

copyparty_restart() {
  copyparty_stop
  sleep 1
  copyparty_start
}

case "$1" in
'start')
  copyparty_start
  ;;
'stop')
  copyparty_stop
  ;;
'restart')
  copyparty_restart
  ;;
*)
  echo "usage $0 start|stop|restart"
esac
