223
This commit is contained in:
+37
-4
@@ -6,6 +6,43 @@ set -euo pipefail
|
|||||||
|
|
||||||
port80=8230
|
port80=8230
|
||||||
|
|
||||||
|
# 安装目录与更新脚本路径
|
||||||
|
install_dir=/root/data/docker_data/Sub2API
|
||||||
|
update_script="$install_dir/auto-update.sh"
|
||||||
|
|
||||||
|
# 交互:选择安装或仅执行 Docker 更新
|
||||||
|
echo "请选择操作:"
|
||||||
|
echo " 1) 安装 Sub2API(默认)"
|
||||||
|
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
|
||||||
|
# 只更新 app 服务(Sub2API 镜像),不动 db / redis
|
||||||
|
"${compose_cmd[@]}" pull app
|
||||||
|
"${compose_cmd[@]}" up -d app
|
||||||
|
docker image prune -f
|
||||||
|
else
|
||||||
|
echo "未检测到已安装的 Sub2API(缺少 $install_dir/docker-compose.yml),请先安装。" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Docker 更新完成。"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# 1、更新包(更新失败不阻断后续安装)
|
# 1、更新包(更新失败不阻断后续安装)
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
@@ -78,10 +115,6 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# 6、配置每日自动更新
|
# 6、配置每日自动更新
|
||||||
# install_dir 已在脚本开头创建,这里仅定义路径
|
|
||||||
install_dir=/root/data/docker_data/Sub2API
|
|
||||||
update_script="$install_dir/auto-update.sh"
|
|
||||||
|
|
||||||
cat <<'EOF' > "$update_script"
|
cat <<'EOF' > "$update_script"
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|||||||
Reference in New Issue
Block a user