#!/bin/bash # 导入依赖脚本文件 BASE_DIR="$(cd "$(dirname "$0")" && pwd)" for f in "$BASE_DIR"/bin/utils/*.sh; do [ -f "$f" ] && source "$f" done for f in "$BASE_DIR"/bin/*.sh; do [ -f "$f" ] && source "$f" done install(){ if ! command -v curl >/dev/null 2>&1; then install_package curl fi if ! command -v wget >/dev/null 2>&1; then install_package wget fi if ! command -v jq >/dev/null 2>&1; then install_package jq fi if ! command -v docker >/dev/null 2>&1; then echo 安装docker... sleep 1 curl -fsSL https://get.docker.com | bash -s docker fi } # 查询运行状态 check_container_status(){ local compose_file="./docker-compose.yml" local GREEN='\033[0;32m' local RED='\033[0;31m' local RESET='\033[0m' local status status=$(docker compose -f "$compose_file" ps --status running --quiet 2>/dev/null) if [ -n "$status" ]; then echo -e "${GREEN}运行中${RESET}" else echo -e "${RED}未运行${RESET}" fi } main(){ # 显示菜单 echo "" echo 运行状态: $(check_container_status) echo "==============================" echo "请选择一个操作:" echo "1. 一键部署" echo "2. 生成配置 / 重置配置" echo "3. 查看分享链接" echo "4. 启动" echo "5. 停止" echo "6. 修改域名" echo "7. 修改端口" echo "8. 更新镜像" echo "9. 更新脚本" # 读取用户选择 local choice read -p "输入您的选择: " choice # 根据用户选择执行相应的操作 case $choice in 1) # 一键部署 install create_config port_manage allow $(get_listen_port) # 开放端口 run print_share_link ;; 2) # 生成配置 / 重置配置 create_config ;; 3) # 查看分享链接 check_config_file print_share_link ;; 4) # 启动 check_config_file port_manage allow $(get_listen_port) # 开放端口 run print_share_link ;; 5) # 停止 docker compose -f ./docker-compose.yml down ;; 6) # 修改域名 check_config_file update_domain restart_docker ;; 7) # 修改端口 check_config_file ask_update_port port_manage allow $(get_listen_port) # 开放端口 restart_docker ;; 8) # 更新镜像 update_docker_images restart_docker ;; 9) # 更新脚本 git pull ;; *) echo "无效的选择, 请重新选择." ;; esac } main