Skip to content

Commit c9989c5

Browse files
docs(ops): sync DEPLOYMENT.md to v1.7.49 live state
- port: 8123 -> 8121 - image: codex2api:v1.7.49-tool-calls-fix - note: 8120 occupied by sms-relay container, must skip - add v1.7.49 to version history - update SOP example values (OLD=8121, NEW=8122)
1 parent 5194ab7 commit c9989c5

1 file changed

Lines changed: 12 additions & 9 deletions

File tree

ops/DEPLOYMENT.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
> 真值以 `docker ps` 为准,不信文档。文档滞后时以线上状态为准并反向更新本文。
44
5-
## 1. 线上状态(截至 2026-05-10 22:40
5+
## 1. 线上状态(截至 2026-05-13 11:30
66

77
|||
88
|---|---|
9-
| 镜像 | `codex2api:v1.7.48-upstream-may10-paid``latest`|
9+
| 镜像 | `codex2api:v1.7.49-tool-calls-fix``latest`|
1010
| 容器 | `codex2api` |
11-
| 端口 | `8123`(nginx upstream 指向 127.0.0.1:8123|
11+
| 端口 | `8121`(nginx upstream 指向 127.0.0.1:8121|
1212
| 部署目录 | `/data/codex2api/` |
1313
| Admin | https://cx.wyzai.top/admin/ secret = `65187777` |
1414
| 数据库 | PG `codex2api-postgres`, Redis `codex2api-redis`, 网络 `codex2api_codex2api-net` |
@@ -18,7 +18,7 @@
1818
| 容器 body 上限 | **64 MB**`CODEX_MAX_REQUEST_BODY_SIZE_MB=64`|
1919
| Dialog 采集 | ✅ 启用(默认 true,写入 PG `dialog_logs`|
2020
| Prefer-paid 调度 | Admin 面板运行时开关(默认 OFF = prefer_free)|
21-
| 本地 git HEAD | `9fcd50b``main` / `merge/upstream-2026-05-10`|
21+
| 本地 git HEAD | `5194ab7``merge/upstream-2026-05-10`,未 push|
2222

2323
## 2. SSH 接入
2424

@@ -33,17 +33,19 @@ sshpass -p '2R18UapfDNoT' ssh -p 24598 root@156.238.226.55
3333

3434
## 3. 蓝绿 SOP(端口轮换)
3535

36-
端口:`8120 → 8121 8122 8123 → 8120 …`
36+
端口候选:`8121 / 8122 / 8123`**8120 已被 sms-relay 容器永久占用,跳过**
3737

3838
**🚨 不要把多步串成一行 bash——stdout buffer 会让你误以为卡死。每步独立跑。**
3939

4040
```bash
4141
SSH='sshpass -p f3t7uCBeTCizT12 ssh -p 22222 -o StrictHostKeyChecking=no root@152.53.240.159'
4242
SCP='sshpass -p f3t7uCBeTCizT12 scp -P 22222 -o StrictHostKeyChecking=no'
43-
OLD=8123; NEW=8120; TAG=v1.7.49-xxx
43+
OLD=8121; NEW=8122; TAG=v1.7.50-xxx
4444
```
4545

46-
> **下次端口**:8123 → 8120(轮换到最老的回收端口即可)
46+
> **下次端口**:8121 → 8122(或 8123,都空着;切忌选 8120 = sms-relay)
47+
>
48+
> **起容器前先验空**`ss -tlnp | grep ":81[12][0-9]"` 确认目标端口无人监听
4749
4850
### Step 1 · 本地 tar 打包(5-10s)
4951

@@ -173,7 +175,8 @@ docker exec codex2api-postgres psql -U codex2api -d codex2api -c \
173175
| v1.7.44-unlock-banned | 8121 | - | 封禁 plus 账号自动解锁可清理 |
174176
| v1.7.45-sse-keepalive | 8122 | 2026-05-04 | SSE/JSON 双路径 keepalive 防 CF 100s idle |
175177
| v1.7.47-prefer-paid | 8125 | 2026-05-08 | 付费账号优先 Free 兜底(admin 开关)+ Dialog logs 异步采集(⚠️ 代码曾仅在服务器,已合并回本地 9fcd50b)|
176-
| **v1.7.48-upstream-may10-paid** | **8123** | **2026-05-10** | **upstream port(流式 usage / 5h 紧迫性 / 工具参数剥离 / validation 扩充)+ 合并回 v1.7.47 的 prefer-paid & dialog logs + 413 提到 64MB** |
178+
| v1.7.48-upstream-may10-paid | 8123 | 2026-05-10 | upstream port(流式 usage / 5h 紧迫性 / 工具参数剥离 / validation 扩充)+ 合并回 v1.7.47 的 prefer-paid & dialog logs + 413 提到 64MB |
179+
| **v1.7.49-tool-calls-fix** | **8121** | **2026-05-13** | **修复非流式 ChatCompletions tool_calls 丢失:从 `response.output_item.done` 收 function_call(上游不一定在 `completed.output[]` 回填)**,stream=true 不受影响 |
177180

178181
## 8. 不要再做的事
179182

@@ -200,7 +203,7 @@ docker exec codex2api-postgres psql -U codex2api -d codex2api -c \
200203

201204
```bash
202205
# /data/codex2api/.env
203-
CODEX_PORT=8123 # 当前端口(随蓝绿轮换)
206+
CODEX_PORT=8121 # 当前端口(随蓝绿轮换)
204207
CODEX_MAX_REQUEST_BODY_SIZE_MB=64 # 请求体上限,默认 32MB;v1.7.48 起调到 64MB 解决 413
205208
DIALOG_COLLECTION_ENABLED=true # 对话采集总开关(默认 true,启动级);false=不创建实例
206209
CODEX_TRANSPORT_MODE=standard # TLS 指纹:standard=Go 原生 / utls_chrome=仿 Chrome

0 commit comments

Comments
 (0)