| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/usr/bin/env bash
- # =============================================================================
- # FranklinWH Toolbox - 部署入口(从这里开始)
- # =============================================================================
- # 顶层菜单:选择"全流程一键部署"或"单项功能"。所有选项最终都转发到
- # deploy/scripts/setup.sh —— 因此无论全流程还是单项,都同样支持
- # 本地(local)与远程(remote, SSH) 两种目标(进入后由 setup.sh 询问)。
- #
- # 用法:
- # ./start.sh 显示菜单
- # ./start.sh --help 显示 setup.sh 帮助
- # ./start.sh --only <项> 直接透传给 setup.sh(跳过菜单)
- # =============================================================================
- set -euo pipefail
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- SETUP="${SCRIPT_DIR}/scripts/setup.sh"
- c_reset='\033[0m'; c_blue='\033[1;34m'; c_green='\033[1;32m'; c_bold='\033[1m'; c_red='\033[1;31m'
- if [[ ! -f "${SETUP}" ]]; then
- echo -e "${c_red}[FAIL]${c_reset} 未找到部署向导:${SETUP}" >&2
- echo " 请确认在项目的 deploy/ 目录下运行本脚本。" >&2
- exit 1
- fi
- # 透传 --help / --only 等参数,跳过菜单
- if [[ $# -gt 0 ]]; then
- exec bash "${SETUP}" "$@"
- fi
- echo -e "${c_blue}== FranklinWH Toolbox 部署入口 ==${c_reset}"
- echo "请选择要执行的操作(每项均支持本地/远程,进入后会询问):"
- echo
- echo -e " ${c_bold}1)${c_reset} 交互式一键部署(全流程向导,推荐)"
- echo -e " ${c_bold}2)${c_reset} 仅检测/安装依赖引擎(PostgreSQL/Mongo/Redis/MinIO/Docker)"
- echo -e " ${c_bold}3)${c_reset} 仅初始化数据库(PG 建库建表 + Mongo/Redis 检查)"
- echo -e " ${c_bold}4)${c_reset} 仅创建 MinIO 账号与策略(fwh-toolbox / fwh-toolbox-ai)"
- echo -e " ${c_bold}5)${c_reset} 仅部署 pgAdmin4(+ 给 postgres 设密码)"
- echo -e " ${c_bold}6)${c_reset} 仅安装 Casdoor(Docker 认证服务)"
- echo -e " ${c_bold}7)${c_reset} 仅部署 Caddy 反向代理(自编译 + spaceship DNS)"
- echo -e " ${c_bold}8)${c_reset} 仅安装 Kiro CLI"
- echo -e " ${c_bold}9)${c_reset} 仅构建部署前后端(可选前端/后端/两者)"
- echo -e " ${c_bold}0)${c_reset} 退出"
- echo
- while :; do
- read -r -p "$(echo -e "${c_bold}输入序号${c_reset} [1]: ")" sel
- sel="${sel:-1}"
- case "${sel}" in
- 1) exec bash "${SETUP}" ;;
- 2) exec bash "${SETUP}" --only deps ;;
- 3) exec bash "${SETUP}" --only initdb ;;
- 4) exec bash "${SETUP}" --only minioacct ;;
- 5) exec bash "${SETUP}" --only pgadmin ;;
- 6) exec bash "${SETUP}" --only casdoor ;;
- 7) exec bash "${SETUP}" --only caddy ;;
- 8) exec bash "${SETUP}" --only kiro ;;
- 9) exec bash "${SETUP}" --only deploy ;;
- 0) echo -e "${c_green}已退出${c_reset}"; exit 0 ;;
- *) echo -e "${c_red}无效选择:${sel},请重新输入(0 退出)。${c_reset}" >&2 ;;
- esac
- done
|