feat: 为 Sub2API 添加 app 镜像每日自动更新
- 生成 auto-update.sh,仅拉取并重启 app 服务(不动 db / redis) - 注册每天 04:00 的定时任务,按脚本路径去重避免重复写入 - 兼容 docker compose 与 docker-compose,安装与更新均自动检测 - 更新后清理悬空镜像,并写入 auto-update.log 日志 - 安装结束时打印手动更新提示与自动更新说明
This commit is contained in:
+22
-7
@@ -2,16 +2,19 @@
|
||||
# chmod +x 23-Sub2API.sh && ./23-Sub2API.sh
|
||||
# curl -sS -O https://gitea.tohub.top/Share/vps/raw/branch/main/install/23-Sub2API.sh && chmod +x 23-Sub2API.sh && ./23-Sub2API.sh
|
||||
|
||||
ipv4_address=$(curl -s ipv4.ip.sb)
|
||||
set -euo pipefail
|
||||
|
||||
port80=8230
|
||||
|
||||
|
||||
# 1、更新包
|
||||
apt update -y && apt upgrade -y #更新一下包
|
||||
# 1、更新包(更新失败不阻断后续安装)
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt update -y || true
|
||||
apt upgrade -y || true #更新一下包
|
||||
|
||||
# 2、创建安装目录
|
||||
mkdir -p /root/data/docker_data/Sub2API
|
||||
cd /root/data/docker_data/Sub2API
|
||||
cd /root/data/docker_data/Sub2API || { echo "无法进入安装目录 /root/data/docker_data/Sub2API" >&2; exit 1; }
|
||||
|
||||
# 3、填写docker-compose配置
|
||||
cat <<EOF > docker-compose.yml
|
||||
@@ -52,18 +55,30 @@ services:
|
||||
EOF
|
||||
|
||||
# 4、安装
|
||||
if ! command -v docker >/dev/null 2>&1; then
|
||||
echo "未检测到 docker,请先安装 Docker 后再运行本脚本。" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if docker compose version >/dev/null 2>&1; then
|
||||
docker compose up -d
|
||||
else
|
||||
elif command -v docker-compose >/dev/null 2>&1; then
|
||||
docker-compose up -d
|
||||
else
|
||||
echo "未检测到 docker compose 或 docker-compose,请先安装 Docker Compose。" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 5、打开防火墙的端口
|
||||
ufw allow $port80
|
||||
if command -v ufw >/dev/null 2>&1; then
|
||||
ufw allow "$port80"
|
||||
ufw status
|
||||
else
|
||||
echo "未检测到 ufw,跳过防火墙端口放行。"
|
||||
fi
|
||||
|
||||
# 6、配置每日自动更新
|
||||
# install_dir 已在脚本开头(第 13 行)创建,这里仅定义路径
|
||||
# install_dir 已在脚本开头创建,这里仅定义路径
|
||||
install_dir=/root/data/docker_data/Sub2API
|
||||
update_script="$install_dir/auto-update.sh"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user