luci-app-alist: Add data path setting

This commit is contained in:
sbwml 2023-06-22 11:16:16 +08:00
parent deeaee4eae
commit 01ff544616
3 changed files with 11 additions and 4 deletions

View File

@ -52,6 +52,10 @@ o.datatype = "and(uinteger,min(0))"
o.default = "0" o.default = "0"
o.rmempty = false o.rmempty = false
o = s:option(Value, "data_dir", translate("Data directory"))
o.datatype = "string"
o.default = "/etc/alist"
o = s:option(Value, "temp_dir", translate("Cache directory")) o = s:option(Value, "temp_dir", translate("Cache directory"))
o.datatype = "string" o.datatype = "string"
o.default = "/tmp/alist" o.default = "/tmp/alist"

View File

@ -34,6 +34,9 @@ msgstr "SSL 密钥"
msgid "SSL key file path" msgid "SSL key file path"
msgstr "SSL 密钥文件路径" msgstr "SSL 密钥文件路径"
msgid "Data directory"
msgstr "数据目录"
msgid "Cache directory" msgid "Cache directory"
msgstr "缓存目录" msgstr "缓存目录"

View File

@ -3,13 +3,13 @@
START=99 START=99
USE_PROCD=1 USE_PROCD=1
PROG=/usr/bin/alist PROG=/usr/bin/alist
CONFIG_DIR=/etc/alist
get_config() { get_config() {
config_get_bool enabled $1 enabled 1 config_get_bool enabled $1 enabled 1
config_get port $1 port 5244 config_get port $1 port 5244
config_get log $1 log 1 config_get log $1 log 1
config_get site_url $1 site_url "" config_get site_url $1 site_url ""
config_get data_dir $1 data_dir "/etc/alist"
config_get temp_dir $1 temp_dir "/tmp/alist" config_get temp_dir $1 temp_dir "/tmp/alist"
config_get ssl $1 ssl 0 config_get ssl $1 ssl 0
config_get ssl_cert $1 ssl_cert "" config_get ssl_cert $1 ssl_cert ""
@ -67,12 +67,12 @@ start_service() {
fi fi
set_firewall set_firewall
cat /dev/null > $temp_dir/alist.log cat /dev/null > $temp_dir/alist.log
cat > $CONFIG_DIR/config.json <<EOF cat > $data_dir/config.json <<EOF
{"force":false,"address":"$listen_addr","port":$port,"https_port":$port,"site_url":"$site_url","cdn":"","jwt_secret":"","token_expires_in":$token_expires_in,"database":{"type":"sqlite3","host":"","port":0,"user":"","password":"","name":"","db_file":"/etc/alist/data.db","table_prefix":"x_","ssl_mode":""},"scheme":{"disable_http":$SSL,"https":$SSL,"cert_file":"$ssl_cert","key_file":"$ssl_key"},"temp_dir":"$temp_dir","log":{"enable":$LOG,"name":"$temp_dir/alist.log","max_size":10,"max_backups":5,"max_age":28,"compress":false},"delayed_start":$delayed_start,"max_connections":$max_connections} {"force":false,"address":"$listen_addr","port":$port,"https_port":$port,"site_url":"$site_url","cdn":"","jwt_secret":"","token_expires_in":$token_expires_in,"database":{"type":"sqlite3","host":"","port":0,"user":"","password":"","name":"","db_file":"$data_dir/data.db","table_prefix":"x_","ssl_mode":""},"scheme":{"disable_http":$SSL,"https":$SSL,"cert_file":"$ssl_cert","key_file":"$ssl_key"},"temp_dir":"$temp_dir","log":{"enable":$LOG,"name":"$temp_dir/alist.log","max_size":10,"max_backups":5,"max_age":28,"compress":false},"delayed_start":$delayed_start,"max_connections":$max_connections}
EOF EOF
procd_open_instance alist procd_open_instance alist
procd_set_param command $PROG procd_set_param command $PROG
procd_append_param command server --data $CONFIG_DIR procd_append_param command server --data $data_dir
procd_set_param stdout 1 procd_set_param stdout 1
procd_set_param stderr 1 procd_set_param stderr 1
procd_set_param respawn procd_set_param respawn