mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-13 20:08:05 +08:00
63 lines
1.5 KiB
Bash
63 lines
1.5 KiB
Bash
#!/bin/sh /etc/rc.common
|
|
|
|
START=93
|
|
USE_PROCD=1
|
|
|
|
get_config() {
|
|
config_get_bool enabled "$1" enabled 0
|
|
config_get data_dir "$1" data_dir ""
|
|
config_get port "$1" port "8189"
|
|
}
|
|
|
|
mkdir_p() {
|
|
[ -d "$1" ] || mkdir -p "$1"
|
|
}
|
|
|
|
start_service() {
|
|
config_load kaiplus
|
|
config_foreach get_config kaiplus
|
|
|
|
if [ "$enabled" != 1 ]; then
|
|
return 0
|
|
fi
|
|
if [ -z "$data_dir" ]; then
|
|
logger -t kaiplus "data_dir is empty; please set option data_dir in /etc/config/kaiplus"
|
|
return 1
|
|
fi
|
|
|
|
mkdir_p "$data_dir"
|
|
umask 077
|
|
mkdir_p "$data_dir/workspace"
|
|
mkdir_p "$data_dir/cache"
|
|
mkdir_p "$data_dir/config"
|
|
mkdir_p "$data_dir/state"
|
|
chmod 0700 "$data_dir/config" "$data_dir/state"
|
|
|
|
logger -t kaiplus "Starting KaiPlus service"
|
|
procd_open_instance kaiplus
|
|
procd_set_param env \
|
|
KAIPLUS_HOME="$data_dir" \
|
|
KAIPLUS_SYSTEM_ROLE="istoreos" \
|
|
KAIPLUS_RELEASE_CHANNEL="stable" \
|
|
KAIPLUS_AUTH_MODE="openwrt_luci" \
|
|
LINKEASE_AUTH_PROVIDER="openwrt_luci" \
|
|
KAIPLUS_LISTEN_MODE="tcp" \
|
|
REASONIX_CREDENTIALS_STORE="file"
|
|
procd_set_param command /usr/sbin/kaiplus kaiplus-web
|
|
procd_append_param command --listen-mode tcp
|
|
procd_append_param command --addr "0.0.0.0:$port"
|
|
procd_append_param command --data-dir "$data_dir"
|
|
procd_append_param command --base-path /apps/kaiplus/
|
|
procd_append_param command --system-role istoreos
|
|
procd_append_param command --release-channel stable
|
|
procd_set_param stdout 1
|
|
procd_set_param stderr 1
|
|
procd_set_param respawn
|
|
procd_close_instance
|
|
logger -t kaiplus "KaiPlus service started"
|
|
}
|
|
|
|
service_triggers() {
|
|
procd_add_reload_trigger "kaiplus"
|
|
}
|