#!/usr/bin/env bash set -euo pipefail PORT="${PORT:-7031}" CONTAINER_NAME="${CONTAINER_NAME:-fnos-resmon}" INSTALL_DIR="${INSTALL_DIR:-/vol1/1000/HD1/docker/fnos-resmon}" REPO_URL="https://gitea.88531.cn/jinghui/fnos-resmon.git" if ! command -v docker >/dev/null 2>&1; then echo "❌ 未检测到 Docker,请先安装 Docker"; exit 1 fi if ! docker compose version >/dev/null 2>&1; then echo "❌ 未检测到 docker compose"; exit 1 fi if ! command -v git >/dev/null 2>&1; then echo "❌ 未检测到 git"; exit 1 fi # 自动探测 docker 根目录 if [ -d /vol1/1000/HD1/docker ]; then COMPOSE_ROOT=/vol1/1000/HD1/docker elif [ -d "$HOME/docker" ]; then COMPOSE_ROOT="$HOME/docker" else COMPOSE_ROOT="$(dirname "$INSTALL_DIR")" fi if [ -d "$INSTALL_DIR/.git" ]; then echo "🔄 检测到已有安装,执行更新..." cd "$INSTALL_DIR" git fetch origin main git reset --hard origin/main else echo "📥 克隆项目..." mkdir -p "$(dirname "$INSTALL_DIR")" git clone "$REPO_URL" "$INSTALL_DIR" cd "$INSTALL_DIR" fi cat > "$INSTALL_DIR/.env" <:$PORT" exit 0 fi sleep 2 done echo "⚠️ 服务可能未就绪,请检查 docker logs" exit 1