Files
ewoooc/docs/adr/ADR-008-actual-runtime-on-188.md

113 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ADR-008正式運行環境確認 — 188 Docker Compose(非 110 K3s)
- **Status**: Accepted
- **Date**: 2026-04-18
- **Decision Maker**: 統帥
- **Author**: Claude
## Context
2026-04-18 Claude 實地 SSH 盤點主機現況,發現先前多版 CLAUDE.md / ADR / 文件描述與真實運行環境嚴重不符:
**文件宣稱**:
- EwoooC(MOMO Pro)跑在 `wooo@192.168.0.110` K3s/K8s 叢集
- 專案路徑 `/home/wooo/momo_pro_system/`
- 容器 port 5001
- 部署走 GitLab CI/CD → kubectl rollout restart
**實地觀察**:
- `192.168.0.110` 上完全沒有 momo/ewoooc/flask 容器在跑
- `/home/wooo/momo_pro_system/` 自 2026-02-15 起只剩 `docker/` + `venv/`,非 git repo
- 110 承載的是: Harbor(完整堆疊)、Sentry self-hosted(30+ 容器)、SigNoz、Gitea、Langfuse、GitLab 域名反向代理(domain 存在但後端已撤)、VM Nginx、周邊 Exporter
- **EwoooC 實際運行地**: `ollama@192.168.0.188:~/momo-pro/`
- 部署方式: **純 Docker Compose**,無 K3s/K8s,檔案用 volume mount 直掛進 container
## Decision
**認定事實並凍結現況描述**:
| 項目 | 正式值 |
|---|---|
| 主要運行主機 | `ollama@192.168.0.188` |
| 專案路徑 | `/home/ollama/momo-pro/` |
| 部署工具 | Docker Compose(`docker-compose.yml` V12.0) |
| 主要容器 | `momo-pro-system``momo-db`(pgvector/pg14)、`momo-scheduler``openclaw` |
| Container Port | `127.0.0.1:5003:80`(gunicorn 4 workers on :80) |
| 資料庫 | **pgvector/pgvector:pg14**(支援 AI 向量) |
| Git 版控 | **非 git repo**,用 volume mount + scp 管理 |
| SSH 進入路徑 | **必經 110 跳板**(ollama@188 只信任 110 的 SSH key) |
| 輔助主機 110 | Harbor + Sentry + SigNoz + Gitea + Nginx 反代 + 周邊 Exporter |
**部署更新流程(官方唯一路徑)**:
1. 本機修改 → `scp``ollama@192.168.0.188:~/momo-pro/<path>`(透過 110 跳板)
2. Python 檔案(app.py/services/routes/templates/config.py)→ volume mount **直接生效**,只需 `docker restart momo-pro-system`
3. 若需新 Python 套件 → `docker compose build momo-app && docker compose up -d momo-app`
4. 資料庫 migration → 進入 `momo-db` 執行 SQL
**Volume mount 清單(來自容器 inspect)**:
```
/home/ollama/momo-pro/app.py -> /app/app.py (ro)
/home/ollama/momo-pro/scheduler.py -> /app/scheduler.py (ro)
/home/ollama/momo-pro/config.py -> /app/config.py (ro)
/home/ollama/momo-pro/auth.py -> /app/auth.py (ro)
/home/ollama/momo-pro/config/ -> /app/config/ (rw)
/home/ollama/momo-pro/database/ -> /app/database/ (ro)
/home/ollama/momo-pro/templates/ -> /app/templates/ (ro)
/home/ollama/momo-pro/services/ -> /app/services/ (ro)
/home/ollama/momo-pro/routes/ -> /app/routes/ (ro)
/home/ollama/momo-pro/data/ -> /app/data/ (rw)
/home/ollama/momo-pro/logs/ -> /app/logs/ (rw)
/home/ollama/momo-pro/backups/ -> /app/backups/ (rw)
```
**`docs/` 目錄未掛載** → ADR / CLAUDE.md 為人工查閱用,不影響 runtime。
## Alternatives Considered
| 方案 | 拒絕原因 |
|---|---|
| 假裝文件正確,讓實況符合文件(把 app 搬回 110 K3s) | 110 已超載(Load 14.5),且 188 有 GPU 鄰近優勢 |
| 保留雙份描述(K3s + Docker) | 造成未來 Claude/統帥持續誤判,違反鐵律一 |
| 只修 CLAUDE.md 不建 ADR | 違反 ADR 鐵律,未來無決策紀錄可查 |
## Consequences
### 須連動更新(已於本次 Session 處理)
- `CLAUDE.md` — 所有 K3s/kubectl/PVC 指令改寫為 Docker Compose
- `CLAUDE.md` — 專案路徑 `momo_pro_system``momo-pro`,主機 110 → 188
- `CLAUDE.md` — 承認 Harbor / Sentry / SigNoz / Gitea 在 110 仍運行
- `docs/memory/credentials_passbook.md` — 明確劃分 110 / 188 角色
- `docs/memory/README.md` — 索引指向本 ADR
### 須延後處理(記入 tech debt)
- 110 上 VM Nginx `mo.wooo.work → 127.0.0.1:5001` 的**實際轉發機制未證實**(110 無明顯 5001 listener,188 的 5001 是 docker-registry,兩者不相通)。需要統帥於下次進入 110 時跑 `sudo ss -tlnp | grep :5001``sudo fuser 5001/tcp` 確認。
- 是否需把 EwoooC 專案轉為 git repo(目前 188 的 `/home/ollama/momo-pro/` 不是 git 管理,升級有版本追溯風險)
- 110 超載問題(Load 14.5,3 人登入,遠高於建議值)→ 拆 Sentry / SigNoz / Harbor 的可行性
### 廢止(明確不再做)
-`kubectl rollout restart` 類指令
-`git push gitlab main` 類部署(GitLab 已撤)
- ❌ K3s PVC / StatefulSet 配置
-`momo_pro_system` 路徑的一切引用(改為 `momo-pro`)
## Related ADRs
- ADR-006 — 專案正名 EwoooC(延伸:Scope 更明確為 Docker-on-188)
- ADR-007 — AI 學習雙寫(pgvector 在 188 的 `momo-db` 實現)
## Verification (2026-04-18 SSH 快照)
```
HOST 188 (ollama@192.168.0.188)
Load avg: 5.58
Docker: momo-pro-system, momo-db (pgvector/pg14), momo-scheduler, openclaw, n8n, ollama, open-webui, ...
Path: /home/ollama/momo-pro/
docker-compose.yml: V12.0
HOST 110 (wooo@192.168.0.110)
Load avg: 14.5 (超載)
Docker: Harbor x11, Sentry x30+, SigNoz, Gitea, Langfuse, ...
NO momo/ewoooc containers
/home/wooo/momo_pro_system/ 只剩 docker/ + venv/
```