ci / verify (push) Canceled after 0s
Add customer and operator login, BLE provisioning, device fleet controls, call memory, memoir generation, and refreshed family and maintenance portals. Include API contracts, migrations, firmware sources, tests, assets, and deployment documentation.
3.5 KiB
3.5 KiB
VoiceLink 服务器迁移记录
日期:2026-09-14。新地址:https://82.157.201.114 。旧地址:https://121.41.46.238 。
已迁移
- 后端部署版本:
0.91.0-rc.migrate1,包含绑定接口同步返回 5 个火山字段的修改。 - 前端复用旧服务器已运行的
0.90.0-rc.wechat1页面镜像,登录地址运行时切换为新 IP。 - PostgreSQL(schema 65)、Redis、MinIO 文件、Keycloak 登录数据以及原有平台/设备/火山/微信密钥全部保留。
- 切换前记录:6 个账号、2 位老人、8 台设备、4 条有效绑定。无进行中通话;备份在停止写入后进行,恢复后对比一致。
- 登录 issuer 和老人智能体配置中的旧地址已更新。历史健康记录和幂等请求证据保留原样。下一次聊天时,平台会通过已有智能体更新流程设置新回调地址,不重复创建智能体。
- 小程序
C:\Users\19926\WeChatProjects\voicelink\miniprogram\config.js已改为新地址,未代替用户上传/发布微信小程序。 - 桌面交接设备初始化文件仅更新 origin,设备 ID 和密钥未变;没有烧录硬件。现有实物仍可通过旧 IP 转发访问。
运行目录与检查
新服务器:Ubuntu 24.04、Docker 29.6.1、Compose 5.3.1。
发布目录:/opt/data-terminal-cloud/releases/0.91.0-rc.migrate1;/opt/data-terminal-cloud/current 指向此处。
日常操作使用完整组合,不要执行 seed,也不要删除卷:
cd /opt/data-terminal-cloud/current
docker compose -p data-terminal-cloud \
-f compose.yaml \
-f deploy/server/compose.override.yaml \
-f deploy/server/compose.subtitle.yaml \
-f deploy/server/compose.onboarding.yaml \
-f deploy/server/compose.migration.yaml \
--env-file deploy/server/.env ps
仅发布 TCP 80、443;SSH 为 22。数据库、Redis、MinIO、内部 API 端口不对公网发布。
备份、证书与旧地址
- 新 IP 已取得有效 HTTPS 证书;Certbot webroot 续期模拟通过,12 小时检查一次,续期后重载网关,不停机。
platform-backup.timer每日运行;新机首次加密备份与隔离数据库恢复验证成功。备份目录/var/backups/data-terminal-cloud。platform-health-monitor.timer检查服务健康。异地 OSS 备份原先未启用,迁移后仍未启用;阿里云 ECS 身份不能直接用于腾讯云主机。- 旧服务器只运行兼容网关和
voicelink-forward.service。页面跳转新地址;设备、接口、回调经验证新 IP 证书的 HTTPS 转发至新服务器。内部桥接端口 18081 只绑定 Docker 私网地址,不是公网服务。 - 旧业务容器停止,旧数据和迁移备份保留。不要重启旧 API/worker 形成双写,也不要立即释放旧 IP。
- 旧机备份:
/var/backups/voicelink-migration-20260914;新机迁移校验资料:/root/voicelink-migration。均包含敏感材料,仅管理员可读,不对外分享。
验证范围
- 新页面、版本接口、OIDC issuer、API/callbacks/worker 就绪检查通过。
- 联调设备校时签名、平台登记、未绑定查询、未绑定聊天拒绝检查通过;没有执行新绑定或消耗火山注册额度。
- 小程序 40 项测试及原生页面检查通过。
- 未进行真机音频通话或真实微信授权登录;仍需用户在手机/设备上完成体验检查。
- MQTT、在线上报、OTA 仍是此前的待实现功能,本次迁移不会自动补齐。
回退前必须停止新机写入并同步新产生的数据;旧备份只代表切换时点,不能直接启动旧库当成无损回退。