114 lines
2.7 KiB
Bash
114 lines
2.7 KiB
Bash
#!/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_dependencies(){
|
|
local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/bin" # 脚本文件夹路径
|
|
source "${script_dir}/utils/base.sh"
|
|
|
|
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
|
|
echo 安装jq...
|
|
install_package jq
|
|
fi
|
|
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
echo 安装docker...
|
|
curl -fsSL https://get.docker.com | bash -s docker
|
|
fi
|
|
|
|
if ! command -v docker-compose >/dev/null 2>&1; then
|
|
echo 安装docker-compose...
|
|
wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/v2.29.0/docker-compose-linux-x86_64
|
|
chmod +x /usr/local/bin/docker-compose
|
|
fi
|
|
}
|
|
|
|
|
|
main(){
|
|
local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/bin" # 脚本文件夹路径
|
|
source "${script_dir}/utils/base.sh"
|
|
|
|
# 显示菜单
|
|
echo "请选择一个操作:"
|
|
echo "1. 一键部署"
|
|
echo "2. 创建配置 / 重置配置"
|
|
echo "3. 查看分享链接"
|
|
echo "4. 启动容器"
|
|
echo "5. 停止容器"
|
|
echo "6. 更新镜像"
|
|
echo "7. 修改端口"
|
|
echo "8. 修改Reality目标域名"
|
|
|
|
# 读取用户选择
|
|
local choice
|
|
read -p "输入您的选择: " choice
|
|
|
|
# 根据用户选择执行相应的操作
|
|
case $choice in
|
|
1)
|
|
# 一键部署
|
|
install_dependencies
|
|
create_config
|
|
run
|
|
print_share_link
|
|
;;
|
|
2)
|
|
# 创建配置 / 重置配置
|
|
create_config
|
|
;;
|
|
3)
|
|
# 查看分享链接
|
|
check_config
|
|
print_share_link
|
|
;;
|
|
4)
|
|
# 启动容器
|
|
check_config
|
|
run
|
|
print_share_link
|
|
;;
|
|
5)
|
|
# 停止容器
|
|
docker-compose -f ./docker-compose.yml down
|
|
;;
|
|
6)
|
|
# 更新镜像
|
|
update_docker_images
|
|
;;
|
|
7)
|
|
# 修改端口
|
|
check_config
|
|
update_port
|
|
restart_docker
|
|
;;
|
|
8)
|
|
# 修改Reality目标域名
|
|
check_config
|
|
update_reality_dest
|
|
restart_docker
|
|
;;
|
|
*)
|
|
echo "无效的选择, 请重新选择."
|
|
;;
|
|
esac
|
|
}
|
|
|
|
main
|