diff --git a/README.md b/README.md index 8c2fbe1..89ec2bc 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,18 @@ docker run -d --name fnos-resmon -p 7031:7031 --privileged \ --- -## 🤝 贡献 +## 🔄 自动更新 + +执行仓库根目录的 `install.sh` 即可自动更新(git pull + docker compose up -d --build): + +```bash +curl -fsSL https://gitea.88531.cn/jinghui/fnos-resmon/raw/branch/main/install.sh | bash +``` + +或手动: +```bash +cd /vol1/1000/HD1/docker/fnos-resmon && git pull && docker compose up -d --build +``` 欢迎 Issue 和 PR! diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..040c3d4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +version: '3.8' +services: + fnos-resmon: + image: jpccr.ccs.tencentyun.com/jinghui/fnos-resmon:latest + container_name: fnos-resmon + privileged: true + network_mode: host + pid: host + volumes: + - /proc:/host/proc:rw + - /sys:/host/sys:ro + environment: + - PROCFS_PATH=/host/proc + restart: unless-stopped \ No newline at end of file diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..fe01463 --- /dev/null +++ b/install.sh @@ -0,0 +1,57 @@ +#!/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