4.7 KiB
4.7 KiB
旧版本迁移指南 / Migration Guide
本文档帮助从旧版(compose-base/db/mq/app/scenario 结构)迁移到新版(一镜像一文件 + 关键字启动)。
命令对照表
| 旧命令 | 新命令(等价) |
|---|---|
./start.sh mysql artemis standard all |
./start.sh |
./start.sh mysql artemis standard middleware |
./start.sh middleware |
./start.sh postgresql rabbitmq standard middleware |
./start.sh postgresql rabbitmq middleware |
./start.sh oracle artemis noai middleware |
./start.sh oracle middleware |
./start.sh kingbase9 artemis standard all |
./start.sh kingbase all |
./start.sh mysql artemis call middleware |
./start.sh call middleware |
./start.sh mysql artemis webrtc all |
./start.sh webrtc all |
./start.sh mysql artemis call-webrtc all obs |
./start.sh call webrtc all obs |
./start.sh mysql artemis standard all minio searxng |
./start.sh all minio searxng |
./start.sh mysql artemis standard middleware logstash kibana |
./start.sh middleware logstash kibana |
./stop.sh mysql artemis standard stop all |
./stop.sh |
./stop.sh mysql artemis standard down all |
./stop.sh down |
./stop.sh mysql artemis call stop middleware |
./stop.sh call middleware |
注意:旧参数(如 standard/noai/call-webrtc 作为位置参数)不再兼容,传入会直接报错,请使用新关键字语法。
文件名对照表
| 旧文件 | 新文件 |
|---|---|
| compose-base.yaml | compose-redis.yaml + compose-elasticsearch.yaml |
| compose-db-mysql.yaml | compose-mysql.yaml |
| compose-db-postgresql.yaml | compose-postgresql.yaml |
| compose-db-oracle.yaml | compose-oracle.yaml |
| compose-db-kingbase9.yaml | compose-kingbase.yaml |
| compose-mq-artemis.yaml | compose-artemis.yaml |
| compose-mq-rabbitmq.yaml | compose-rabbitmq.yaml |
| compose-app-bytedesk.yaml | compose-bytedesk.yaml |
| compose-app-mq-artemis.yaml / compose-app-mq-rabbitmq.yaml | 删除(由 start.sh 注入应用 env,见下) |
| compose-scenario-standard.yaml | 删除(空壳) |
| compose-scenario-noai.yaml | 删除(AI 开关移交 .env) |
| compose-scenario-call.yaml | compose-freeswitch.yaml + compose-mrcp.yaml |
| compose-scenario-webrtc.yaml | compose-coturn.yaml + compose-janus.yaml |
| compose-observability.yaml | compose-prometheus.yaml + compose-grafana.yaml + compose-zipkin.yaml |
2026-08-26 起所有 compose 文件统一移入
deploy/docker/compose/目录(文件名不变);同时.env中KINGBASE_LICENSE_FILE、MRCP_CONF_DIR、MRCP_LOG_DIR、MRCP_AUDIO_DIR的相对路径由../改为../../(相对于compose/目录解析)。容器名、数据卷名、网络名均不变,存量数据无缝延续。
服务名变更
| 旧服务名 | 新服务名 |
|---|---|
| bytedesk-db | bytedesk-mysql / bytedesk-postgresql / bytedesk-oracle / bytedesk-kingbase |
| bytedesk-mq | bytedesk-artemis / bytedesk-rabbitmq |
| bytedesk-mrcp-server | bytedesk-mrcp |
容器名、数据卷名、网络名(bytedesk-network)均未变化,存量数据无缝延续。
如有自定义脚本引用旧服务名(如 docker compose exec bytedesk-db ...),请改为对应新服务名。
.env 需要同步修改的值
# FreeSWITCH 数据库主机(旧:bytedesk-db)
FREESWITCH_DB_HOST=bytedesk-mysql
# 百度 MRCP Server 地址(旧:bytedesk-mrcp-server)
FREESWITCH_BAIDU_MRCP_SERVER_HOST=bytedesk-mrcp
应用连接注入的变化
- 旧版:db/mq 连接参数写在 compose-db-/compose-app-mq- overlay 文件中
- 新版:
start.sh按关键字自动注入并写入.env.app(自动生成、勿手工编辑);.env显式配置优先级更高 - 单独
docker compose --env-file .env -f compose/compose-bytedesk.yaml up -d(不经 start.sh,在 deploy/docker 目录执行)时应用按 mysql/artemis 默认值连接;其他数据库请通过--env-file .env --env-file .env.app或环境变量提供连接参数
升级步骤
# 1.(推荐)先用旧脚本停净旧栈,再拉取新版本
./stop.sh <旧参数> down
# 2. 若已升级但残留旧容器,按 compose 项目标签兜底清理
docker rm -f $(docker ps -aq --filter label=com.docker.compose.project=bytedesk)
# 3. 更新 .env 中两个服务名相关值(见上)
# 4. 使用新命令启动
./start.sh
watchdog.sh 变更
- 旧环境变量
WATCHDOG_DB/WATCHDOG_MQ/WATCHDOG_SCENARIO已移除(不再需要) - 新增
PROJECT_NAME(默认 bytedesk,与 start.sh 一致) - 重启策略:优先
docker start保留容器原始环境;容器不存在时回退docker compose --env-file .env [--env-file .env.app] -f compose/compose-bytedesk.yaml up -d --no-deps bytedesk(配合 .env.app)