feat: add install.sh and docker-compose for auto-update

This commit is contained in:
jinghui committed 2026-11-06 16:37:28 +08:00
1 parent c13dfb6df8
commit 37727fa9df
3 files changed
+83 -1

No files matched your search

+12 -1
View File
@@ -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!
+14
View File
@@ -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
+57
View File
@@ -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" <<EOF
PORT=$PORT
CONTAINER_NAME=$CONTAINER_NAME
COMPOSE_ROOT=$COMPOSE_ROOT
EOF
echo "🐳 启动/更新容器..."
docker compose -f "$INSTALL_DIR/docker-compose.yml" --env-file "$INSTALL_DIR/.env" up -d --build
echo "⏳ 等待服务就绪..."
for i in $(seq 1 30); do
if curl -s -o /dev/null -w '%{http_code}' "http://127.0.0.1:$PORT" | grep -q 200; then
echo "✅ 部署完成!访问 http://<NAS IP>:$PORT"
exit 0
fi
sleep 2
done
echo "⚠️ 服务可能未就绪,请检查 docker logs"
exit 1