mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-09-10 18:34:18 +08:00
🔥 Sync 2026-09-05 21:18:46
This commit is contained in:
@@ -1,33 +1,50 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
USE_PROCD=1
|
||||
START=99
|
||||
STOP=10
|
||||
|
||||
CONF="filebrowser"
|
||||
PROG="/usr/bin/filebrowser"
|
||||
CONF_PATH="/etc/filebrowser/config.yaml"
|
||||
PID_FILE="/var/run/filebrowser.pid"
|
||||
DB_PATH="/etc/filebrowser/database.db"
|
||||
|
||||
start() {
|
||||
start_service() {
|
||||
config_load "$CONF"
|
||||
|
||||
local enabled
|
||||
config_get_bool enabled "config" "enabled" "0"
|
||||
[ "$enabled" -eq "1" ] || return 1
|
||||
|
||||
local listen_port root_path base_url
|
||||
mkdir -p "${DB_PATH%/*}"
|
||||
|
||||
local listen_port root_path base_url disable_exec
|
||||
config_get listen_port "config" "listen_port" "8989"
|
||||
config_get root_path "config" "root_path" "/"
|
||||
|
||||
echo "Starting filebrowser..."
|
||||
sed -e "s/ port:.*/ port: $listen_port/" \
|
||||
-e "s, - path:.*, - path: \"$root_path\"," \
|
||||
-i "$CONF_PATH"
|
||||
start-stop-daemon -S -q -b -m -p "$PID_FILE" -x "$PROG" -- -c "$CONF_PATH"
|
||||
config_get root_path "config" "root_path" "/mnt/"
|
||||
config_get base_url "config" "base_url"
|
||||
config_get_bool disable_exec "config" "disable_exec" "1"
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command "$PROG"
|
||||
procd_append_param command --database "$DB_PATH"
|
||||
procd_append_param command --address "[::]"
|
||||
procd_append_param command --port "$listen_port"
|
||||
procd_append_param command --root "$root_path"
|
||||
procd_append_param command --disable-exec="$disable_exec"
|
||||
[ -z "$base_url" ] || procd_append_param command --baseurl "$base_url"
|
||||
if [ ! -e "$DB_PATH" ]; then
|
||||
procd_append_param command --username "admin"
|
||||
procd_append_param command --password "$("$PROG" hash "admin")"
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
}
|
||||
|
||||
stop() {
|
||||
kill -9 `pidof filebrowser | sed "s/$$//g"` 2>/dev/null
|
||||
rm -f "$PID_FILE"
|
||||
echo "filebrowser stopped"
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger "$CONF"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user