mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-22 09:58:06 +00:00
feat: add initconfig + setup.sh to Linux packages, combine tar.gz
This commit is contained in:
63
package/linux/setup.sh
Normal file
63
package/linux/setup.sh
Normal file
@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env bash
|
||||
# HomeAgent 首次初始化脚本
|
||||
# 在安装后执行,生成凭据并初始化数据库
|
||||
set -e
|
||||
|
||||
DATA_DIR="${HOMEAGENT_DATA:-/var/lib/homeagent}"
|
||||
CRED_FILE="${DATA_DIR}/credentials.txt"
|
||||
CONFIG_DB="${DATA_DIR}/config.db"
|
||||
WAITER_CONF="${DATA_DIR}/waiter.yaml"
|
||||
INITCONFIG_BIN="/usr/bin/initconfig"
|
||||
|
||||
# 如果已经初始化过,跳过
|
||||
if [ -f "$CONFIG_DB" ] && [ -f "$CRED_FILE" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
mkdir -p "$DATA_DIR"
|
||||
|
||||
# 生成随机凭据
|
||||
API_KEY=$(cat /proc/sys/kernel/random/uuid 2>/dev/null | tr -d '-' || echo "homeagent$(date +%s)")
|
||||
WEBUI_USER="${WEBUI_USER:-admin}"
|
||||
WEBUI_PASS="${WEBUI_PASS:-$(openssl rand -hex 12 2>/dev/null || echo "homeagent")}"
|
||||
|
||||
# 初始化数据库
|
||||
if [ -x "$INITCONFIG_BIN" ]; then
|
||||
"$INITCONFIG_BIN" \
|
||||
-data "$DATA_DIR" \
|
||||
-username "$WEBUI_USER" \
|
||||
-password "$WEBUI_PASS" \
|
||||
-apikey "$API_KEY" 2>/dev/null
|
||||
fi
|
||||
|
||||
# 保存凭据
|
||||
cat > "$CRED_FILE" << CRED
|
||||
===================================
|
||||
HomeAgent 初始配置信息
|
||||
请妥善保管,安装后仅此一份
|
||||
===================================
|
||||
WebUI 地址: http://localhost:8080
|
||||
API Key: ${API_KEY}
|
||||
WebUI 用户名: ${WEBUI_USER}
|
||||
WebUI 密码: ${WEBUI_PASS}
|
||||
CLI Socket: ${DATA_DIR}/cli.sock
|
||||
===================================
|
||||
CRED
|
||||
chmod 600 "$CRED_FILE"
|
||||
|
||||
# 配置 waiter CLI
|
||||
cat > "$WAITER_CONF" << WAITER
|
||||
socket: "${DATA_DIR}/cli.sock"
|
||||
api_key: ${API_KEY}
|
||||
default: local
|
||||
connections:
|
||||
- name: local
|
||||
socket: "${DATA_DIR}/cli.sock"
|
||||
api_key: ${API_KEY}
|
||||
WAITER
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " HomeAgent 初始化完成"
|
||||
echo "============================================"
|
||||
cat "$CRED_FILE"
|
||||
Reference in New Issue
Block a user