release: sync public installer asset install.sh

This commit is contained in:
2026-09-03 02:39:42 +00:00
parent 45a9a63b22
commit 01af018bb4
+24 -3
View File
@@ -1052,7 +1052,19 @@ if [[ -n $MENU_PROFILES ]]; then
xiaoya-control) profile_service=xiaoya-control;; xiaoya-control) profile_service=xiaoya-control;;
*) die "未知小雅 profile$profile";; *) die "未知小雅 profile$profile";;
esac esac
run_logged "${COMPOSE[@]}" --profile "$profile" --project-directory "$INSTALL_DIR" --env-file "$INSTALL_DIR/.env" -f "$INSTALL_DIR/compose.yaml" up -d --no-deps "$profile_service" || die "小雅 profile 启动失败:$profile" if [[ $profile == xiaoya ]]; then
printf '正在创建并启动小雅容器:%s\n' "$XIAOYA_CONTAINER"
else
printf '正在创建并启动小雅控制器:xymedia-controller\n'
fi
if ! run_logged "${COMPOSE[@]}" --profile "$profile" --project-directory "$INSTALL_DIR" --env-file "$INSTALL_DIR/.env" -f "$INSTALL_DIR/compose.yaml" up -d --no-deps "$profile_service"; then
die "小雅 profile 启动失败:$profile"
fi
if [[ $profile == xiaoya ]]; then
printf '小雅容器已启动:%s\n' "$XIAOYA_CONTAINER"
else
printf '小雅控制器已启动:xymedia-controller\n'
fi
done done
if [[ $MENU_PROFILES == *xiaoya-control* ]]; then if [[ $MENU_PROFILES == *xiaoya-control* ]]; then
controller_state=$(docker inspect --format '{{.State.Status}}' xymedia-controller 2>>"$INSTALL_LOG" || true) controller_state=$(docker inspect --format '{{.State.Status}}' xymedia-controller 2>>"$INSTALL_LOG" || true)
@@ -1181,7 +1193,7 @@ printf '数据库初始化完成\n'
printf '数据库初始化完成\n' >>"$INSTALL_LOG" printf '数据库初始化完成\n' >>"$INSTALL_LOG"
if [[ $MENU_PROFILES == *xiaoya-control* ]]; then if [[ $MENU_PROFILES == *xiaoya-control* ]]; then
printf '本机小雅控制器连接信息:\n' printf '本机小雅控制器连接信息:\n'
print_controller_info print_controller_info || printf '控制器连接信息暂时不可读取,安装完成后可通过菜单 6 查看。\n'
fi fi
progress '启动 XyMediaVault 服务' progress '启动 XyMediaVault 服务'
set +e set +e
@@ -1220,11 +1232,20 @@ wait_for_app_health() {
done done
} }
wait_for_app_health || die 'XyMediaVault 健康检查被中断,安装未完成' wait_for_app_health || die 'XyMediaVault 健康检查被中断,安装未完成'
bootstrap_local_controller() {
[[ $MENU_PROFILES == *xiaoya-control* ]] || return 0
(( REMOTE_MODE == 0 )) || return 0
printf '正在将本机小雅 Controller 同步到管理平台数据库...\n'
if ! run_visible_logged docker exec xymedia-app /releases/current/bin/xymediavault bootstrap-controller --config /app/config.yaml; then
die '本机小雅 Controller 数据库同步失败,安装未完成'
fi
}
bootstrap_local_controller
cp "$INSTALL_LOG" "$INSTALL_DIR/install.log" 2>/dev/null || true cp "$INSTALL_LOG" "$INSTALL_DIR/install.log" 2>/dev/null || true
printf '\033[2K\r[%d/%d] 安装完成:XyMediaVault 已就绪\n' "$TOTAL_STEPS" "$TOTAL_STEPS" printf '\033[2K\r[%d/%d] 安装完成:XyMediaVault 已就绪\n' "$TOTAL_STEPS" "$TOTAL_STEPS"
printf '管理地址:http://127.0.0.1:%s\n' "$API_PORT" printf '管理地址:http://127.0.0.1:%s\n' "$API_PORT"
if [[ $MENU_PROFILES == *xiaoya-control* ]]; then if [[ $MENU_PROFILES == *xiaoya-control* ]]; then
print_controller_info print_controller_info || printf '控制器连接信息暂时不可读取,请安装完成后通过菜单 6 查看。\n'
fi fi
if (( LOCAL_DB )); then if (( LOCAL_DB )); then
print_database_info print_database_info