# File Tag Manager - GitHub 自动部署配置完成 ✅

---

## 📋 配置摘要

| 组件 | 状态 | 说明 |
|------|------|------|
| **Webhook 服务** | ✅ 运行中 | 监听端口 9001 |
| **Nginx 反向代理** | ✅ 已配置 | webhook.tag.liupeizhi.top |
| **部署脚本** | ✅ 就绪 | /root/file_tag_manager/auto-deploy.sh |
| **Git 仓库** | ✅ 已关联 | github.com/liupeizhi/file_tag_manager |
| **Webhook Secret** | `6b1279b99efd2e661f2099cae2afdf70aa9ff7bd` | 用于验证 GitHub 请求 |

---

## 🔧 GitHub Webhook 配置步骤

### 1️⃣ 进入仓库设置

访问：https://github.com/liupeizhi/file_tag_manager/settings/hooks

### 2️⃣ 添加 Webhook

点击 **Add webhook**，填写以下信息：

| 字段 | 值 |
|------|-----|
| **Payload URL** | `http://webhook.tag.liupeizhi.top/` |
| **Content type** | `application/json` |
| **Secret** | `6b1279b99efd2e661f2099cae2afdf70aa9ff7bd` |
| **SSL verification** | ❌ 取消勾选 |
| **Events** | ✅ Just the push event |

### 3️⃣ 保存并测试

点击 **Add webhook** 保存，然后：
1. 在仓库中修改任意文件
2. 提交到 main 分支
3. 查看 Recent Deliveries，应显示 ✅ 200 OK

---

## 🎯 自动部署流程

```
git push → GitHub → Webhook → auto-deploy.sh → Docker 重建 → ✅
```

### 部署步骤

1. **📥 拉取代码** - `git pull origin main`
2. **🛑 停止服务** - `docker compose down`
3. **🔨 重新构建** - `docker compose build --no-cache`
4. **🚀 启动服务** - `docker compose up -d`
5. **🧹 清理镜像** - `docker image prune -f`
6. **✅ 检查状态** - `docker compose ps`

---

## 📊 查看日志

### Webhook 日志
```bash
# 实时查看
journalctl -u file-tag-webhook -f

# 最近日志
tail -50 /var/log/file-tag-webhook.log
```

### Docker 日志
```bash
# 查看所有服务
docker compose logs -f

# 查看特定服务
docker compose logs -f backend
docker compose logs -f frontend
docker compose logs -f mysql
```

### 服务状态
```bash
systemctl status file-tag-webhook
docker compose ps
```

---

## 🔧 手动部署

如果自动部署失败，可以手动执行：

```bash
cd /root/file_tag_manager
bash auto-deploy.sh
```

---

## 🌐 访问地址

| 服务 | 地址 |
|------|------|
| **主应用** | https://tag.liupeizhi.top |
| **Webhook** | http://webhook.tag.liupeizhi.top |

---

## 🐛 故障排查

### Webhook 不触发
1. 检查 GitHub Webhook 配置
2. 检查 Nginx：`/usr/sbin/nginx -t`
3. 检查服务：`systemctl status file-tag-webhook`
4. 查看日志：`journalctl -u file-tag-webhook`

### 部署失败
1. 查看日志：`tail -50 /var/log/file-tag-webhook.log`
2. 检查 Git：`cd /root/file_tag_manager && git status`
3. 检查 Docker：`docker compose logs`
4. 手动测试：`bash auto-deploy.sh`

### 服务无法访问
1. 检查容器：`docker compose ps`
2. 检查端口：`netstat -tlnp | grep :80`
3. 检查 Nginx：`systemctl status nginx`

---

## 📱 通知配置（可选）

在 `auto-deploy.sh` 末尾添加飞书通知：

```bash
curl -X POST "https://open.feishu.cn/open-apis/bot/v2/hook/YOUR_WEBHOOK" \
  -H "Content-Type: application/json" \
  -d '{
    "msg_type": "text",
    "content": {
      "text": "🎉 File Tag Manager 部署成功！\n时间：'"$(date '+%Y-%m-%d %H:%M:%S')"'"
    }
  }'
```

---

## 📝 最近更新时间

2026-04-07 14:07

---

**配置完成后，每次 push 到 main 分支都会自动部署！** 🎉
