70 lines
1.8 KiB
Bash
70 lines
1.8 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
VERSION="0.0.1-m00-baseline"
|
|
APP_ROOT="/opt/apps"
|
|
REPO_SSH="ssh://git@127.0.0.1:2222/panda/qipai.git"
|
|
PUBLIC_API="https://api.txyundm.cn"
|
|
|
|
print_header() {
|
|
echo "自助棋牌室系统部署菜单 ${VERSION}"
|
|
echo "生产目录: ${APP_ROOT}"
|
|
echo "固定 API: ${PUBLIC_API}"
|
|
echo
|
|
}
|
|
|
|
check_arch() {
|
|
local kernel_arch dpkg_arch bits
|
|
kernel_arch="$(uname -m 2>/dev/null || echo unknown)"
|
|
dpkg_arch="$(dpkg --print-architecture 2>/dev/null || echo unknown)"
|
|
bits="$(getconf LONG_BIT 2>/dev/null || echo unknown)"
|
|
echo "内核架构: ${kernel_arch}"
|
|
echo "DPKG 架构: ${dpkg_arch}"
|
|
echo "用户空间位数: ${bits}"
|
|
if [ "${kernel_arch}" != "x86_64" ] || [ "${dpkg_arch}" != "amd64" ] || [ "${bits}" != "64" ]; then
|
|
echo "FAIL: 仅支持 Ubuntu 24.04 x86-64/amd64。"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
quick_check() {
|
|
echo "== 启动快检 =="
|
|
check_arch
|
|
command -v git >/dev/null 2>&1 && echo "Git: PASS" || echo "Git: WARN 未安装"
|
|
command -v nginx >/dev/null 2>&1 && echo "Nginx: PASS" || echo "Nginx: WARN 未安装"
|
|
command -v node >/dev/null 2>&1 && echo "Node.js: PASS" || echo "Node.js: WARN 未安装"
|
|
echo "仓库: ${REPO_SSH}"
|
|
}
|
|
|
|
not_implemented() {
|
|
echo "当前 M00 基线仅提供菜单骨架;该选项将在后续子阶段完善。"
|
|
}
|
|
|
|
main_menu() {
|
|
while true; do
|
|
print_header
|
|
echo "1. 首次安装"
|
|
echo "2. 更新业务服务"
|
|
echo "3. 安装或检查 EMQX"
|
|
echo "4. 配置域名与 HTTPS"
|
|
echo "5. 查看状态"
|
|
echo "6. 备份"
|
|
echo "7. 恢复"
|
|
echo "8. 回滚"
|
|
echo "9. 诊断"
|
|
echo "0. 退出"
|
|
printf "请选择: "
|
|
read -r choice
|
|
case "${choice}" in
|
|
1|2|3|4|6|7|8) not_implemented ;;
|
|
5|9) quick_check ;;
|
|
0) exit 0 ;;
|
|
*) echo "无效选项" ;;
|
|
esac
|
|
echo
|
|
done
|
|
}
|
|
|
|
main_menu "$@"
|
|
|