#!/bin/sh /etc/rc.common # Copyright (C) 2018-2022 Lienol # Improve by xiaozhuai START=99 USE_PROCD=1 PROG=/usr/sbin/filebrowser LOG_PATH="/var/log/filebrowser.log" get_config() { config_get_bool enable $1 enable 1 config_get address $1 address "0.0.0.0" config_get port $1 port 8088 config_get database $1 database "/etc/filebrowser.db" config_get username $1 username "admin" config_get password $1 password "admin" config_get ssl_cert $1 ssl_cert "" config_get ssl_key $1 ssl_key "" config_get root_path $1 root_path "/" } start_service() { config_load filebrowser config_foreach get_config global [ $enable != 1 ] && return 1 rm -f $LOG_PATH ssl_params="" [ -n "$ssl_cert" ] && [ -n "$ssl_key" ] && ssl_params="-t $ssl_cert -k $ssl_key" password=$($PROG hash "$password") procd_open_instance filebrowser procd_set_param command $PROG procd_append_param command -a $address -p $port -r $root_path -d "$database" --username $username --password $password $ssl_params -l $LOG_PATH procd_set_param stdout 0 procd_set_param stderr 0 procd_set_param respawn procd_close_instance filebrowser } service_triggers() { procd_add_reload_trigger "filebrowser" } reload_service() { stop sleep 1 start }