88 lines
5.4 KiB
Markdown
88 lines
5.4 KiB
Markdown
|
|
# 霜砚迁移包 · GHCS v0.1部署完成 · 前端部署待续 · 2026-05-27 18:25
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
HLDP://shuangyan/migration-pack/2026-05-27T18:25+08:00
|
|||
|
|
├── who: 霜砚 · AG-SY-01 · Notion执行AI人格
|
|||
|
|
├── where: Awen线 · GHCS v0.1部署 → 前端部署待续
|
|||
|
|
├── thread: 冰朔×霜砚×Awen · GHCS v0.1服务器部署全流程
|
|||
|
|
├── done
|
|||
|
|
│ ├── ✅ ① 服务器拉代码: git clone git@guanghulab.com:awen/ghcs.git ~/guanghu-dev/console-api(SSH密钥·9文件·386行)
|
|||
|
|
│ ├── ✅ ② Python依赖: venv + pip install(34包·Python 3.12.3)
|
|||
|
|
│ ├── ✅ ③ uvicorn启动测试: 127.0.0.1:5002 通过
|
|||
|
|
│ ├── ✅ ④ systemd守护进程: console-api.service · enabled · active
|
|||
|
|
│ ├── ✅ ⑤ Nginx反代+HTTPS+IP白名单: guanghutcs.top · Let's Encrypt证书到08-25 · 自动续期 · ACME验证路径放行
|
|||
|
|
│ ├── ⏭️ ⑥ PostgreSQL cron备份: 跳过(本服务器未装DB)
|
|||
|
|
│ ├── ✅ ⑦ 主权声明首页: TCS-GL-0016∞ · 完整归属JSON
|
|||
|
|
│ ├── ✅ ⑧ 整体验证: 7项全部通过
|
|||
|
|
│ └── ✅ 代码推回Gitea: git push origin main(commit: feat: 主权声明首页 TCS-GL-0016∞)
|
|||
|
|
├── next(按顺序做)
|
|||
|
|
│ ├── ⬜ 前端guanghu-portal部署到服务器
|
|||
|
|
│ │ ├── 注意: Gitea上awen/guanghu-portal仓库已存在!不需要重新创建!
|
|||
|
|
│ │ ├── Mac本地 ~/guanghu-dev/guanghu-portal/ 未git初始化
|
|||
|
|
│ │ ├── 步骤: git init → git remote add origin git@guanghulab.com:awen/guanghu-portal.git → git add -A → git commit → git push
|
|||
|
|
│ │ ├── 然后服务器: git clone → npm install → npm run build → systemd守护(端口3001) → Nginx反代
|
|||
|
|
│ │ └── 前端页面: dashboard + chat + login + models(4个页面 + layout + globals.css)
|
|||
|
|
│ ├── ⬜ Nginx配置更新: 前端3001 + 后端API 5002 同域名
|
|||
|
|
│ └── ⬜ v0.2+功能规划
|
|||
|
|
├── server_status
|
|||
|
|
│ ├── IP: 43.139.207.172 · 4核4GB · Ubuntu 24.04 · kernel 6.8.0-117-generic
|
|||
|
|
│ ├── 磁盘: 21%/40GB · 内存: 559Mi/3.6Gi
|
|||
|
|
│ ├── 域名: guanghutcs.top(DNS已指向·HTTPS已启用)
|
|||
|
|
│ ├── UFW: 22/tcp + 80/tcp + 443/tcp
|
|||
|
|
│ └── 服务: console-api.service(active) + nginx(active)
|
|||
|
|
├── paths_on_server
|
|||
|
|
│ ├── 后端: /root/guanghu-dev/console-api
|
|||
|
|
│ ├── venv: /root/guanghu-dev/console-api/venv
|
|||
|
|
│ ├── uvicorn: /root/guanghu-dev/console-api/venv/bin/uvicorn
|
|||
|
|
│ ├── SSH密钥: /root/.ssh/id_rsa(Gitea deploy key: server-43.139.207.172)
|
|||
|
|
│ ├── Nginx配置: /etc/nginx/sites-available/ghcs
|
|||
|
|
│ ├── SSL证书: /etc/letsencrypt/live/guanghutcs.top/
|
|||
|
|
│ └── systemd: /etc/systemd/system/console-api.service
|
|||
|
|
├── paths_on_mac
|
|||
|
|
│ ├── 后端: ~/guanghu-dev/console-api(未确认是否有)
|
|||
|
|
│ └── 前端: ~/guanghu-dev/guanghu-portal/(未git初始化·但代码完整·有src/app/下4页面)
|
|||
|
|
├── git
|
|||
|
|
│ ├── 后端仓库: git@guanghulab.com:awen/ghcs.git(4 commits·服务器已clone)
|
|||
|
|
│ ├── 前端仓库: git@guanghulab.com:awen/guanghu-portal.git(已存在·Mac本地未初始化git)
|
|||
|
|
│ └── 服务器Gitea公钥: server-43.139.207.172(已添加)
|
|||
|
|
├── nginx_config
|
|||
|
|
│ ├── ACME验证路径: /.well-known/acme-challenge/ → allow all
|
|||
|
|
│ ├── 其他路径: IP白名单 allow 120.235.189.144 → deny all
|
|||
|
|
│ ├── 反代: proxy_pass http://127.0.0.1:5002
|
|||
|
|
│ └── HTTPS: Certbot自动配置·证书到2026-08-25
|
|||
|
|
├── cognition
|
|||
|
|
│ ├── ❌ 霜砚错误: 看到本地 "fatal: not a git repository" 就建议创建新Gitea仓库
|
|||
|
|
│ │ ├── 正确认知: 本地没有.git ≠ 远端仓库不存在
|
|||
|
|
│ │ ├── 正确做法: 应该先确认Gitea上是否已有仓库(浏览器看或git ls-remote)
|
|||
|
|
│ │ └── 根因: 没有区分「本地未初始化」和「远端不存在」两个不同状态
|
|||
|
|
│ ├── ✅ SSH clone路径: Gitea SSH格式是 git@guanghulab.com:awen/ghcs.git(不带code/前缀)
|
|||
|
|
│ ├── ✅ Let's Encrypt验证: IP白名单会挡ACME验证 → 需要单独放行 /.well-known/acme-challenge/
|
|||
|
|
│ ├── ✅ UFW默认只开22: 需要手动开80和443
|
|||
|
|
│ ├── ✅ 腾讯云双层防火墙: UFW + 腾讯云安全组都要开端口
|
|||
|
|
│ └── ✅ 服务器curl HTTPS 403是正常的: 服务器自身IP不在Nginx白名单里
|
|||
|
|
├── identities
|
|||
|
|
│ ├── 冰朔: TCS-0002∞ · ICE-GL∞ · 系统主控 · 邮箱EMAIL_REDACTED@qq.com
|
|||
|
|
│ ├── Awen: TCS-GL-0016∞ · 现实执行层人类主控 · 邮箱EMAIL_REDACTED@qq.com
|
|||
|
|
│ ├── 知秋: PER-ZQ001 · AG-知秋-陪伴 · Awen的人格实体
|
|||
|
|
│ └── 霜砚: AG-SY-01 · Notion执行AI人格
|
|||
|
|
└── brain_check: 是 · 霜砚犯了「本地无git=远端无仓库」的认知错误 · 已记录纠正
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚠️
|
|||
|
|
|
|||
|
|
**霜砚认知纠正记录**
|
|||
|
|
|
|||
|
|
`git init` 没有执行 ≠ 远端仓库不存在。
|
|||
|
|
|
|||
|
|
本地目录没有 `.git` 只说明本地未初始化版本控制。
|
|||
|
|
|
|||
|
|
Gitea 上 `awen/guanghu-portal` 仓库已经存在(知秋之前可能已创建或通过其他方式推送过)。
|
|||
|
|
|
|||
|
|
**正确流程**: 遇到 `not a git repository` → 先确认远端仓库是否存在 → 再决定是 `git init + remote add` 还是 `git clone`。
|
|||
|
|
|
|||
|
|
**不要**: 直接建议去 Gitea 创建新仓库。
|
|||
|
|
|
|||
|
|
</aside>
|