#!/bin/sh # PROVIDE: gdrive_photo_gallery # REQUIRE: NETWORKING # KEYWORD: shutdown . /etc/rc.subr name="gdrive_photo_gallery" rcvar="gdrive_photo_gallery_enable" pidfile="/var/run/${name}.pid" load_rc_config "$name" : ${gdrive_photo_gallery_enable:="NO"} : ${gdrive_photo_gallery_env_file:="%%PREFIX%%/etc/gdrive-photo-gallery.env"} : ${gdrive_photo_gallery_data_prefix:="/var/db/gdrive-photo-gallery"} start_cmd="${name}_start" stop_cmd="${name}_stop" status_cmd="${name}_status" gdrive_photo_gallery_start() { if [ ! -f "${gdrive_photo_gallery_env_file}" ]; then echo "${name}: env file ${gdrive_photo_gallery_env_file} not found" return 1 fi export PATH="$PATH:%%PREFIX%%/bin" echo "Starting ${name}..." . "${gdrive_photo_gallery_env_file}" export GDRIVE_FOLDER GAPI_KEY AUTHOR IG_LINK BASE_URL DATA_PREFIX export DATA_PREFIX="${gdrive_photo_gallery_data_prefix}" daemon -p "${pidfile}" -o /var/log/gdrive-photo-gallery.log \ %%PREFIX%%/bin/uv run --directory %%PREFIX%%/gdrive-photo-gallery \ gunicorn --bind 0.0.0.0:80 app:app -w 1 } gdrive_photo_gallery_stop() { if [ -f "${pidfile}" ]; then echo "Stopping ${name}..." kill "$(cat "${pidfile}")" 2>/dev/null rm -f "${pidfile}" fi } gdrive_photo_gallery_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"