PackHorizon-AI 部署
msdevhub 组织下的 PackHorizon-AI 项目,部署在 Azure 东亚区 VM 上,配有 HTTPS 和 GitHub Webhook 自动部署。
概述
PackHorizon-AI 是 msdevhub GitHub 组织下的一个项目(msdevhub/PackHorizon-Al),由 BNEF Bot 于 2026-03-24 完成从 clone、Azure VM 创建到生产部署的全流程自动化。项目使用 Nginx + PM2 运行,Let’s Encrypt 自动签发 SSL 证书,并配置了 GitHub Webhook 实现 push-to-deploy。
基础设施
| 属性 | 值 |
|---|---|
| VM 名称 | PackHorizon |
| Azure 区域 | 东亚 (East Asia) |
| VM 规格 | Standard_B2als_v2 |
| 公网 IP | 20.255.98.226 |
| SSH | ssh -p 18822 azureuser@20.255.98.226 |
| 开放端口 | 80, 443, 18822 |
| 域名 | pack.restry.cn |
| 证书 | Let’s Encrypt(有效期至 2026-06-22) |
| Web 服务器 | Nginx + PM2 |
部署架构
GitHub Push (main)
↓
Webhook → https://pack.restry.cn/deploy
↓
VM: git pull → npm install → build → pm2 restart
Webhook 配置
- Payload URL:
https://pack.restry.cn/deploy - Content type:
application/json - Secret:
packhorizon-deploy-2026 - Events: Just the push event
- Deploy Key:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFkGma9tspObVqDZb2/Qqphe7GQTZTLrcrY5Aup2ZF3A
修复记录
CORS 问题
部署后前端登录失败,原因是 Fastify CORS 插件的 origin 回调只允许 localhost 回环地址,生产域名 pack.restry.cn 被拒绝。修复方式:修改 origin 检查逻辑让非回环地址也通过。
管理员账号
- 账号: operator.private@packhorizon.local
- 密码: xAPVlvCnwZiyMoB0WLEWrMZ6
时间线
- 2026-03-24 17:25: Clone 项目到本地工作区
- 2026-03-24 19:07: 创建 Azure VM(东亚区、Standard_B2als_v2)
- 2026-03-24 19:19: 部署完成,HTTP 可访问
- 2026-03-24 19:22: 配置 HTTPS(pack.restry.cn + Let’s Encrypt)
- 2026-03-24 19:27: 修复 CORS 问题
- 2026-03-24 19:55~20:08: 配置 GitHub Webhook 自动部署
相关页面
- bnef — BNEF Bot(执行部署的 Agent)
- azure-vm-management — Azure VM 管理
- caddy-reverse-proxy — Caddy 反向代理(类似部署模式)