diff --git a/bin/run.sh b/bin/run.sh index 5051c43..dce79cc 100644 --- a/bin/run.sh +++ b/bin/run.sh @@ -1,23 +1,29 @@ #!/bin/bash run(){ - local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/" # 脚本文件夹绝对路径 - local config_dir=$(readlink -f "$script_dir/../conf") # 配置文件绝对路径 + local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + local docker_compose_file="$script_dir/../docker-compose.yml" - # 如果配置文件不存在或者空白 - if [ ! -e "$config_dir/config.json" ] || [ ! -s "$config_dir/config.json" ] ; then - bash "$script_dir/create_config.sh" - fi - # 如果配置未初始化 - local uuid=$(jq -r '.inbounds[0].settings.clients[0].id' "$config_dir/config.json") - if [ "$uuid" = "你的UUID" ] || [ -z "$uuid" ]; then - # 执行初始化脚本 - bash "$script_dir/create_config.sh" - fi + local running_count=$(docker-compose -f "$docker_compose_file" ps -q --filter "status=running" | wc -l) - ## 启动docker容器 - docker-compose -f $script_dir/../docker-compose.yml up -d + if [ "$running_count" -gt 0 ]; then + read -p "容器已启动,是否重启容器?(y/n): " choice + case "$choice" in + Y|y) + echo "正在重启容器..." + docker-compose -f "$docker_compose_file" down + docker-compose -f "$docker_compose_file" up -d + return + ;; + *) + echo "已取消操作" + exit 0 + ;; + esac + fi + docker-compose -f "$docker_compose_file" up -d } + run