48 lines
1.2 KiB
Bash
Executable File
48 lines
1.2 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2018-2022 Lienol <lawlienol@gmail.com>
|
|
# Improve by xiaozhuai <xiaozhuai7@gmail.com>
|
|
|
|
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
|
|
}
|