Files
web/restart.sh
2026-03-17 15:19:27 +08:00

49 lines
1.7 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# 直接重启:检测 Docker 并一键安装(无则安装),再 docker compose 重启,不拉代码
# 用法cd 项目根 && chmod +x restart.sh && ./restart.sh
# 行尾LF
set -e
ROOT="${PROJECT_ROOT:-$(cd "$(dirname "$0")" && pwd)}"
cd "$ROOT"
run_sudo() { sudo "$@"; }
# ---------- 检测并安装 Docker ----------
ensure_docker() {
if command -v docker >/dev/null 2>&1 && docker info >/dev/null 2>&1; then
echo "Docker 已就绪."
return 0
fi
echo "未检测到 Docker 或未启动,正在安装..."
if command -v apt-get >/dev/null 2>&1; then
run_sudo apt-get update -qq
run_sudo apt-get install -y docker.io docker-compose-plugin 2>/dev/null || run_sudo apt-get install -y docker.io docker-compose
run_sudo systemctl start docker
run_sudo systemctl enable docker
elif command -v dnf >/dev/null 2>&1 || command -v yum >/dev/null 2>&1; then
if command -v dnf >/dev/null 2>&1; then
run_sudo dnf install -y docker docker-compose-plugin 2>/dev/null || run_sudo dnf install -y docker docker-compose
else
run_sudo yum install -y docker docker-compose-plugin 2>/dev/null || run_sudo yum install -y docker docker-compose
fi
run_sudo systemctl start docker
run_sudo systemctl enable docker
else
echo "无法自动安装 Docker请先安装 Docker 与 Docker Compose 后重试."
exit 1
fi
echo "Docker 安装完成."
}
ensure_docker
compose_cmd() { run_sudo docker compose "$@" 2>/dev/null || run_sudo docker-compose "$@"; }
echo "重启 yh_web ($ROOT)..."
[ -f server/.env ] && sed -i 's/\r$//' server/.env
[ -f server/.env ] && set -a && source server/.env && set +a
compose_cmd down 2>/dev/null || true
compose_cmd up -d
echo "完成. api:9527 web:9528 admin:9529"