#!/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 < "$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" }