op-packages/torrserver/files/torrserver.init
github-actions[bot] 32600acc60 🌴 Sync 2026-03-05 23:51:42
2026-03-05 23:51:42 +08:00

51 lines
1.3 KiB
Bash
Executable File

#!/bin/sh /etc/rc.common
# Simple proc.d init script by koshev-msk
# <shevlakov@132lan.ru> 2025
USE_PROCD=1
START=99
STOP=01
NAME=torrserver
BINDIR=/usr/bin
start_service() {
config_load torrserver
config_get enabled "$CONFIG_SECTION" enabled
config_get port "$CONFIG_SECTION" port
config_get address "$CONFIG_SECTION" address
config_get ssl "$CONFIG_SECTION" ssl
config_get ssl_port "$CONFIG_SECTION" ssl_port
config_get ssl_key "$CONFIG_SECTION" ssl_key
config_get ssl_cert "$CONFIG_SECTION" ssl_cert
config_get path "$CONFIG_SECTION" path
[ "$enabled" != "1" ] && return 1
[ ! -d "$path" ] && mkdir -p $path
procd_open_instance
procd_set_param command ${BINDIR}/${NAME}
procd_set_param respawn 300 5 5
procd_set_param limits nofile="unlimited"
[ $address ] && procd_append_param command -i $address
procd_append_param command -d "$path"
procd_append_param command -p "$port"
[ "$ssl" = "1" ] && {
procd_append_param command --ssl
procd_append_param command --sslport "$ssl_port"
[ -f "$ssl_key" ] && procd_append_param command --sslkey "$ssl_key"
[ -f "$ssl_cert" ] && procd_append_param command --sslcert "$ssl_cert"
}
procd_set_param env GIN_MODE=release
procd_set_param stdout 1
procd_set_param pidfile /var/run/${NAME}.pid
procd_close_instance
}
service_triggers() {
procd_add_reload_trigger "torrserver"
}