mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-09-11 02:44:23 +08:00
68 lines
1.5 KiB
Bash
68 lines
1.5 KiB
Bash
#!/bin/sh /etc/rc.common
|
|
|
|
USE_PROCD=1
|
|
START=99
|
|
|
|
CONF="filebrowser-q"
|
|
PROG="/usr/bin/filebrowser-q"
|
|
CONF_PATH="/etc/filebrowser-q/config.yaml"
|
|
DB_PATH="/etc/filebrowser-q/database.db"
|
|
|
|
start_service() {
|
|
config_load "$CONF"
|
|
|
|
local enabled
|
|
config_get_bool enabled "config" "enabled" "0"
|
|
[ "$enabled" -eq "1" ] || return 1
|
|
|
|
local listen_port root_path root_name
|
|
config_get listen_port "config" "listen_port" "8787"
|
|
config_get root_path "config" "root_path" "/"
|
|
|
|
root_name=""
|
|
[ "$root_path" = "/" ] && root_name="root"
|
|
|
|
if [ ! -f "$CONF_PATH" ]; then
|
|
mkdir -p "$(dirname "$CONF_PATH")"
|
|
cat <<EOF > "$CONF_PATH"
|
|
server:
|
|
port: $listen_port
|
|
database: "$DB_PATH"
|
|
sources:
|
|
- path: "$root_path"
|
|
name: "$root_name"
|
|
config:
|
|
defaultEnabled: true
|
|
auth:
|
|
adminUsername: "admin"
|
|
adminPassword: "admin"
|
|
userDefaults:
|
|
ui:
|
|
locale: "zhCN"
|
|
EOF
|
|
else
|
|
grep -q " name:" "$CONF_PATH" || sed -i "s,.*- path:.*,&\n name: \"\"," "$CONF_PATH"
|
|
sed -e "s/ port:.*/ port: $listen_port/" \
|
|
-e "s, - path:.*, - path: \"$root_path\"," \
|
|
-e "s/ name: \".*\"/ name: \"$root_name\"/" \
|
|
-i "$CONF_PATH"
|
|
fi
|
|
|
|
procd_open_instance
|
|
procd_set_param command "$PROG"
|
|
procd_append_param command -c "$CONF_PATH"
|
|
|
|
procd_set_param limits core="unlimited"
|
|
procd_set_param limits nofile="1000000 1000000"
|
|
procd_set_param stdout 1
|
|
procd_set_param stderr 1
|
|
procd_set_param respawn
|
|
|
|
procd_close_instance
|
|
|
|
}
|
|
|
|
service_triggers() {
|
|
procd_add_reload_trigger "$CONF"
|
|
}
|