123
This commit is contained in:
+36
-3
@@ -18,6 +18,42 @@ for required_cmd in openssl curl grep sed apt; do
|
||||
fi
|
||||
done
|
||||
|
||||
# 选择安装目录
|
||||
install_dir=/root/data/docker_data/NewApi
|
||||
update_script="$install_dir/auto-update.sh"
|
||||
|
||||
# 交互:选择安装或仅执行 Docker 更新
|
||||
echo "请选择操作:"
|
||||
echo " 1) 安装 NewApi(默认)"
|
||||
echo " 2) 不安装,立即执行 Docker 更新"
|
||||
read -r -p "请输入选项 [1/2](默认 1):" action_choice
|
||||
action_choice="${action_choice:-1}"
|
||||
|
||||
if [ "$action_choice" = "2" ]; then
|
||||
echo "已选择:立即执行 Docker 更新。"
|
||||
if [ -x "$update_script" ]; then
|
||||
"$update_script"
|
||||
elif [ -f "$install_dir/docker-compose.yml" ]; then
|
||||
cd "$install_dir" || { echo "无法进入安装目录 $install_dir" >&2; exit 1; }
|
||||
if docker compose version >/dev/null 2>&1; then
|
||||
compose_cmd=(docker compose)
|
||||
elif command -v docker-compose >/dev/null 2>&1; then
|
||||
compose_cmd=(docker-compose)
|
||||
else
|
||||
echo "未检测到 docker compose 或 docker-compose,无法执行更新。" >&2
|
||||
exit 1
|
||||
fi
|
||||
"${compose_cmd[@]}" pull
|
||||
"${compose_cmd[@]}" up -d
|
||||
docker image prune -f
|
||||
else
|
||||
echo "未检测到已安装的 NewApi(缺少 $install_dir/docker-compose.yml),请先安装。" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Docker 更新完成。"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 生成 sed 安全的随机密钥(hex)
|
||||
redis_password=$(openssl rand -hex 16)
|
||||
session_secret=$(openssl rand -hex 24)
|
||||
@@ -116,9 +152,6 @@ else
|
||||
fi
|
||||
|
||||
# 6、配置每日自动更新
|
||||
install_dir=/root/data/docker_data/NewApi
|
||||
update_script=/root/data/docker_data/NewApi/auto-update.sh
|
||||
|
||||
cat <<'EOF' > "$update_script"
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
Reference in New Issue
Block a user