#!/bin/sh # PROVIDE: immich_ml # REQUIRE: NETWORKING # KEYWORD: shutdown . /etc/rc.subr name="immich_ml" rcvar="${name}_enable" pidfile="/var/run/${name}.pid" logfile="/var/log/${name}.log" load_rc_config $name : ${immich_ml_enable:="NO"} : ${immich_ml_envfile:="/usr/local/etc/immich_ml.env"} : ${immich_ml_root:="/image/immich-ml"} start_cmd="${name}_start" stop_cmd="${name}_stop" status_cmd="${name}_status" immich_ml_start() { echo "Starting ${name}." set -a . ${immich_ml_envfile} set +a export PATH=/opt/venv/bin:/usr/local/bin:/usr/bin:/bin export VIRTUAL_ENV=/opt/venv export PYTHONDONTWRITEBYTECODE=1 export PYTHONUNBUFFERED=1 export PYTHONPATH=/usr/src /usr/sbin/daemon -P ${pidfile} -o ${logfile} \ /usr/sbin/chroot ${immich_ml_root} \ /opt/venv/bin/python -m immich_ml } immich_ml_stop() { if [ -f ${pidfile} ]; then echo "Stopping ${name}." kill $(cat ${pidfile}) 2>/dev/null rm -f ${pidfile} else echo "${name} is not running." fi } immich_ml_status() { if [ -f ${pidfile} ] && kill -0 $(cat ${pidfile}) 2>/dev/null; then echo "${name} is running as pid $(cat ${pidfile})." else echo "${name} is not running." return 1 fi } run_rc_command "$1"