-
Notifications
You must be signed in to change notification settings - Fork 77
从 CPA Manager 迁移
seakee edited this page Jun 5, 2026
·
1 revision
本文面向从旧 seakee/cpa-manager 项目迁移到 seakee/cpa-manager-plus 的用户。
目标是在可行范围内保留历史请求统计、模型价格、API Key 别名和已保存的 CPA 连接配置。
| 旧 CPA-Manager | CPA Manager Plus |
|---|---|
seakee/cpa-manager |
seakee/cpa-manager-plus |
cpa-manager 二进制 |
cpa-manager-plus 二进制 |
| Usage Service | Manager Server |
| Full mode 用 CPA Management Key 登录 | Full mode 用 CPAMP Admin Key 登录 |
| CPA Management Key 保存在旧 setup 数据中 | CPA Management Key 使用 data.key 加密保存 |
| CPA 面板 + External Usage Service URL | Plus 不支持;请使用 Manager Server 托管面板 |
/usage-service/info、/usage-service/config 等兼容端点仍保留,但在 Plus 中它们属于 Manager Server 兼容接口。
- 确认 CPA 版本。推荐
v7.1.39+;HTTP usage queue 最低v6.10.8+。 - 找到旧数据目录或 volume。
- 停止旧 CPA-Manager 服务,避免 SQLite WAL 文件仍在写入。
- 备份完整旧数据目录,至少包含:
usage.sqlite
usage.sqlite-wal
usage.sqlite-shm
- 决定 CPAMP Admin Key。建议显式设置
CPA_MANAGER_ADMIN_KEY或CPA_MANAGER_ADMIN_KEY_FILE。
旧部署常见:
services: cpa-manager: image: seakee/cpa-manager:latest volumes: - cpa-manager-data:/data volumes: cpa-manager-data:
让 Plus 使用同一个旧 volume:
services: cpa-manager-plus: image: seakee/cpa-manager-plus:latest restart: unless-stopped ports: - "18317:18317" environment: HTTP_ADDR: "0.0.0.0:18317" USAGE_DB_PATH: "/data/usage.sqlite" CPA_MANAGER_DATA_KEY_PATH: "/data/data.key" CPA_MANAGER_ADMIN_KEY: "replace-with-a-long-random-admin-key" USAGE_COLLECTOR_MODE: "auto" volumes: - cpa-manager-data:/data volumes: cpa-manager-data: external: true
如果你期望看到旧数据,不要误用新的空 cpa-manager-plus-data volume。
旧示例:
docker run -d \ --name cpa-manager \ -p 18317:18317 \ -v /srv/cpa-manager-data:/data \ seakee/cpa-manager:latest
迁移:
docker stop cpa-manager
cp -a /srv/cpa-manager-data /srv/cpa-manager-data.backup
docker run -d \
--name cpa-manager-plus \
--restart unless-stopped \
-p 18317:18317 \
-v /srv/cpa-manager-data:/data \
-e CPA_MANAGER_ADMIN_KEY='replace-with-a-long-random-admin-key' \
seakee/cpa-manager-plus:latest然后打开:
http://<host>:18317/management.html
用 CPAMP Admin Key 登录。
- 停止旧
cpa-manager进程。 - 备份旧程序目录,尤其是
data/usage.sqlite*。 - 解压
cpa-manager-plus_<version>_<os>_<arch>。 - 将旧
data目录复制到新包目录,或设置USAGE_DATA_DIR/USAGE_DB_PATH指向旧路径。 - 用显式 Admin Key 启动:
CPA_MANAGER_ADMIN_KEY='replace-with-a-long-random-admin-key' ./cpa-manager-plus检查启动日志:
- 如果没有设置
CPA_MANAGER_ADMIN_KEY,保存生成的cmp_admin_... - 确认没有 SQLite、decrypt 或 bootstrap 错误
再检查:
curl -H "Authorization: Bearer <CPAMP_ADMIN_KEY>" \ http://<host>:18317/status
面板中检查:
- 打开「Configuration -> CPA Manager Plus Configuration」
- 确认绑定的 CPA URL
- 确认 request monitoring、collection mode、poll interval
- 打开 Dashboard 或 Monitoring,确认历史数据可见
Plus 会新增:
/data/data.key
此后备份必须包含:
usage.sqlite
usage.sqlite-wal
usage.sqlite-shm
data.key
如果 data.key 丢失,已加密的 CPA Management Key 无法恢复。
回滚前先停止 Plus。
旧 CPA-Manager 可以读取主要 usage tables 和旧 settings.setup,但无法识别 Plus admin credentials、bootstrap state 或 data.key。建议优先回滚到 Plus 首次启动前的备份。
- 看不到旧数据:Plus 可能使用了新的空 volume。
- 登录 401:应使用 CPAMP Admin Key,不是 CPA Management Key。
- 监控为空:检查 CPA usage publishing、collector mode、CPA 版本,以及是否只有一个 Manager Server 消费队列。
- 解密失败:确认
data.key没有丢失或被替换。