Files
2026-09-19 16:35:35 +08:00

4.7 KiB
Raw Permalink Blame History

旧版本迁移指南 / 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/ 目录(文件名不变);同时 .envKINGBASE_LICENSE_FILEMRCP_CONF_DIRMRCP_LOG_DIRMRCP_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