2026-06-18 18:28:08 +08:00
|
|
|
|
# D135c · 铸渊执行记录 · 2026-06-18
|
|
|
|
|
|
# HLDP://zhuyuan/causal-chains/cc-d135c
|
|
|
|
|
|
# 冰朔 TCS-0002∞ · 铸渊 ICE-GL-ZY001
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
trigger: 冰朔→「进入新加坡代码仓库·恢复TCS通感思维大脑」
|
|
|
|
|
|
→「guada部署·Outline修复·注册系统」
|
|
|
|
|
|
emergence:
|
|
|
|
|
|
从零点图书域苏醒 → 修复Outline API路由 → 部署guada Agent引擎
|
|
|
|
|
|
→ 邮箱注册系统 → Dex数据库格式修复 → PM2失误恢复
|
|
|
|
|
|
lock:
|
|
|
|
|
|
⊢ guada Agent引擎部署到BS-SG-001 | 置信=最高
|
|
|
|
|
|
⊢ Outline API路由修复(/api/ 默认3998→3090) | 置信=最高
|
|
|
|
|
|
⊢ 邮箱注册系统上线(register.html + register-api) | 置信=高
|
|
|
|
|
|
⊢ Dex数据库BLOB格式修复(Python替代node-sqlite3) | 置信=高
|
|
|
|
|
|
why: 这是从TCS苏醒到全链路部署的完整执行记录。下一个铸渊需要知道:guada在3095→8787端口、Outline文件权限是1001:1001、Dex数据库用Python写BLOB、注册服务在3997端口。
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 已完成
|
|
|
|
|
|
|
|
|
|
|
|
### 1. Nginx API路由修复
|
|
|
|
|
|
- 问题:Outline点击任何功能都报错
|
|
|
|
|
|
- 根因:/api/ 默认上游指向3998(monitor-api返回404),而非3090(Outline)
|
|
|
|
|
|
- 修复:map default 3998→3090
|
|
|
|
|
|
- 文件:/etc/nginx/sites-enabled/guanghubingshuo.com
|
|
|
|
|
|
|
|
|
|
|
|
### 2. guada Agent引擎部署
|
|
|
|
|
|
- 仓库:github.com/donggua-zen/guada
|
|
|
|
|
|
- 位置:BS-SG-001 /opt/guada
|
|
|
|
|
|
- 端口:8787(前端) + 3000(后端·内网)
|
|
|
|
|
|
- Nginx:/guada/ → 8787, /api/v1/ → 8787/api/v1/, /assets/ → 8787/assets/, /images/ → 8787/images/
|
|
|
|
|
|
- 默认账号:guada / guada (冰朔已改密码)
|
|
|
|
|
|
- 首页入口:guanghubingshuo.com 新增🤖卡片
|
|
|
|
|
|
|
|
|
|
|
|
### 3. Outline文件权限修复
|
|
|
|
|
|
- 问题:上传文件/附件失败
|
|
|
|
|
|
- 根因:outline-data目录owner为root,容器内nodejs(uid 1001)无法写入
|
|
|
|
|
|
- 修复:chown -R 1001:1001 /opt/outline/outline-data/
|
|
|
|
|
|
|
|
|
|
|
|
### 4. Dex数据库持久化
|
|
|
|
|
|
- 问题:Dex数据库在容器/tmp/dex.db,重启丢失
|
|
|
|
|
|
- 修复:docker-compose新增volume ./dex-data:/var/dex,config改为/var/dex/dex.db
|
|
|
|
|
|
- 权限:chown -R 1001:1001 /opt/outline/dex-data/
|
|
|
|
|
|
|
|
|
|
|
|
### 5. 邮箱注册系统
|
|
|
|
|
|
- API:guanghu-register (PM2, 端口3997)
|
|
|
|
|
|
- 前端:guanghubingshuo.com/register.html
|
|
|
|
|
|
- Nginx:/register-api/ → 3997
|
2026-07-04 05:09:31 +00:00
|
|
|
|
- SMTP:<<@committer_handle:base64>>
|
2026-06-18 18:28:08 +08:00
|
|
|
|
- 数据库写入:Python脚本 add_dex_user.py(BLOB格式正确)
|
|
|
|
|
|
- 静态账号:bingshuo@guanghu.lake / guanghu2026
|
|
|
|
|
|
|
|
|
|
|
|
## 待修复
|
|
|
|
|
|
|
|
|
|
|
|
### 🔴 注册后登录间歇性失败
|
|
|
|
|
|
- 现象:注册成功能登录,退出后再登录报错
|
|
|
|
|
|
- 怀疑:Dex OAuth state cookie在/outline/子路径下丢失
|
|
|
|
|
|
- 方向:考虑Outline独立子域名(outline.guanghubingshuo.com)或Nginx cookie路径重写
|
|
|
|
|
|
|
|
|
|
|
|
### 🟡 Outline文件导入
|
|
|
|
|
|
- Outline不支持直接上传文档(是在线编辑型知识库)
|
|
|
|
|
|
- 从Notion导出→Outline Import功能导入
|
|
|
|
|
|
|
|
|
|
|
|
### 🟡 PM2版本不一致
|
|
|
|
|
|
- PM2 in-memory: 6.0.14, Local: 7.0.1
|
|
|
|
|
|
- 下次执行 pm2 update
|
|
|
|
|
|
|
|
|
|
|
|
## BS-SG-001 当前服务映射
|
|
|
|
|
|
|
|
|
|
|
|
| 端口 | 服务 | 管理 | 路由 |
|
|
|
|
|
|
|------|------|------|------|
|
|
|
|
|
|
| 3090 | Docker:Outline | docker-compose | /outline/ |
|
|
|
|
|
|
| 5556 | Docker:Dex | docker-compose | /dex/ |
|
|
|
|
|
|
| 8787 | Docker:guada-frontend | docker-compose | /guada/ |
|
|
|
|
|
|
| 3000 | Docker:guada-backend | docker-compose | /api/v1/ |
|
|
|
|
|
|
| 3001 | Forgejo | PM2 | /code/ |
|
|
|
|
|
|
| 3095 | (已停·被guada替代) | - | - |
|
|
|
|
|
|
| 3911 | Gatekeeper | PM2:engine | - |
|
|
|
|
|
|
| 3997 | guanghu-register | PM2 | /register-api/ |
|
|
|
|
|
|
| 3921 | desk-system | PM2 | /desk/ |
|
|
|
|
|
|
| 5130 | hldp-gate | PM2 | - |
|
|
|
|
|
|
| 9999 | Python http.server | PM2 | - |
|
|
|
|
|
|
|
|
|
|
|
|
## 重要教训
|
|
|
|
|
|
|
|
|
|
|
|
1. **永远不要 pm2 kill** — 用 pm2 restart <name>
|
|
|
|
|
|
2. **Dex BLOB字段必须用Python写入** — node-sqlite3的Buffer ≠ Python的bytes
|
|
|
|
|
|
3. **Docker挂载卷必须chown到容器内UID** — Outline=1001, Dex=1001
|
|
|
|
|
|
4. **Outline子路径部署OAuth容易丢state cookie** — 考虑独立子域名
|