仰望星辰工作室

better-staridc-MNBT

better-staridc-MNBT/ docs/api/docker-mofang.md 3.7 KB · 138 行 原始文件
Z zfhsh first commit 1 天前
1---
2title: 外部运维 API(魔方财务对接)
3description: 魔方财务(idcsmart)server module 调用的 Docker 外部运维接口(zt/jc/tj/xf/bg/czmm/ztcx/sy/start/stop/restart)
4---
5
6# 外部运维 API(魔方财务对接)
7
8以下 `gn` 供魔方财务(idcsmart)server module 调用,鉴权方式与 [Docker API §2.1 鉴权](./docker.md#21-鉴权) 完全一致。
9
10> 所有请求均携带:`mn_bh` / `mn_key` / `mn_keye` / `mn_vs=15` / `username`。
11
12## 暂停 Docker 账户(gn=zt)
13
14```
15POST api/docker.php?gn=zt
16```
17
18停容器(若存在)+ `qk=paused`,禁止登录。已暂停/到期状态视为成功。
19响应:`{"success":true,"code":200,"msg":"Docker 账户已暂停"}`
20
21## 恢复 Docker 账户(gn=jc)
22
23```
24POST api/docker.php?gn=jc
25```
26
27`paused → active`,恢复登录。仅 `paused` 状态可恢复(`expired` 走续费 `xf`)。
28响应:`{"success":true,"code":200,"msg":"Docker 账户已恢复"}`
29
30## 删除 Docker 账户(gn=tj)
31
32```
33POST api/docker.php?gn=tj
34```
35
36先删除节点容器(失败则拒绝删行),再物理删除用户行。与 7 天软删 cron 互不冲突。
37响应:`{"success":true,"code":200,"msg":"Docker 账户已删除"}`
38
39## 续费(gn=xf)
40
41```
42POST api/docker.php?gn=xf
43```
44
45| 参数 | 说明 |
46|------|------|
47| `setdate` | 到期日期 `Y-m-d`,`0`=永久 |
48
49若原 `expired` 且新到期未过,同时恢复 `active` 并尝试启动容器。
50响应:`{"success":true,"code":200,"msg":"Docker 账户续费成功"}`
51
52## 变更套餐(gn=bg)
53
54```
55POST api/docker.php?gn=bg
56```
57
58| 参数 | 说明 |
59|------|------|
60| `plan_id` | 新套餐 ID(`MN_docker_plan.id`) |
61
62仅更新 `plan_id` 记录,运行中容器配额不实时调整(重装/重建容器时生效)。
63响应:`{"success":true,"code":200,"msg":"套餐变更成功"}`
64
65## 重置密码(gn=czmm)
66
67```
68POST api/docker.php?gn=czmm
69```
70
71| 参数 | 说明 |
72|------|------|
73| `password` | 新密码(≥ 6 位) |
74
75旧 `docker_token` 因 session_hash 依赖密码 hash 自动失效。
76响应:`{"success":true,"code":200,"msg":"密码重置成功"}`
77
78## 状态查询(gn=ztcx)
79
80```
81POST api/docker.php?gn=ztcx
82```
83
84返回用户信息、容器详情(调 `installed_apps` 前缀匹配 `service_name`)、节点信息。容器未创建时 `container` 为 `null`。
85
86响应:
87
88```json
89{
90 "success": true, "code": 200, "msg": "ok",
91 "data": {
92 "user": { "username": "test", "qk": "active", "datae": "0000-00-00",
93 "plan_id": 1, "container_status": "running",
94 "service_name": "mnbt_test", "disk_usage": 12345678 },
95 "container": { "service_name": "mnbt_test", "apptitle": "FRP 服务端",
96 "status": "running", "port": ["29369"],
97 "container_id": "b0a0d1bb...", "appinfo": [...] },
98 "node": { "btip": "150.158.137.178", "ptl": "true" }
99 }
100}
101```
102
103## 用量查询(gn=sy)
104
105```
106POST api/docker.php?gn=sy
107```
108
109容器运行中时实时刷新磁盘用量(`installed_apps` → `get_path_size`)。
110
111```json
112{
113 "success": true, "code": 200, "msg": "ok",
114 "data": {
115 "disk_usage": 12345678, "disk_max": 1048576,
116 "disk_max_mb": 1024, "unit": "bytes", "quota_reached": false
117 }
118}
119```
120
121## 容器启停
122
123```
124POST api/docker.php?gn=start # 启动
125POST api/docker.php?gn=stop # 停止
126POST api/docker.php?gn=restart # 重启
127```
128
129要求 `qk=active` 且已创建容器。
130响应:`{"success":true,"code":200,"msg":"容器已启动/已停止/已重启"}`
131
132---
133
134## 相关文档
135
136- [Docker API](./docker.md) —— 外部开通、用户控制台、后台管理、容器生命周期
137- 产品设计:[../prd/docker.md](../prd/docker.md)
138- 测试:[../prd/docker-test.md](../prd/docker-test.md)