#!/usr/bin/env bash # ============================================================================= # 02-patch-config.sh — 将 .env.local 中的变量写入各服务 YAML 配置文件 # # 影响文件: # open-im-server/config/redis.yml kafka.yml discovery.yml # open-im-server/config/mongodb.yml minio.yml openim-rpc-third.yml # chat/config/redis.yml discovery.yml mongodb.yml # meetingmsg/manifest/config/config.yaml # # 后续步骤:03-start-infra.sh(启动 Docker 基础设施) # ============================================================================= set -euo pipefail source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/common.sh" load_env init_script_log # ← 脚本执行日志 header "步骤 2 / 5 — 修改服务配置文件" OPENIM_CONF="$ROOT_DIR/open-im-server/config" CHAT_CONF="$ROOT_DIR/chat/config" [[ ! -d "$OPENIM_CONF" ]] && { error "目录不存在: $OPENIM_CONF"; exit 1; } [[ ! -d "$CHAT_CONF" ]] && { error "目录不存在: $CHAT_CONF"; exit 1; } # ────────────────────────────────────────────────────────────────────────────── # open-im-server # ────────────────────────────────────────────────────────────────────────────── step "open-im-server 配置" # Redis cat > "$OPENIM_CONF/redis.yml" < "$OPENIM_CONF/kafka.yml" < "$OPENIM_CONF/discovery.yml" < "$OPENIM_CONF/mongodb.yml" < "$OPENIM_CONF/minio.yml" < "$CHAT_CONF/redis.yml" < "$CHAT_CONF/discovery.yml" < "$CHAT_CONF/mongodb.yml" < "$MM_CONF" < "$LK_CONF" < "$LC_CONF" </dev/null || true cat > "$LS_CONF" < "$BS_CONF" < "$MH5_ENV" < 以下变量 > 代码中的生产默认值 # 弹幕 WebSocket:meetingmsg 服务(:8000) VITE_WS_BASE_URL=ws://${DEPLOY_TEST_IP}:8000 # 直播间 API:livestream 服务(:8081) VITE_LIVE_API_BASE_URL=http://${DEPLOY_TEST_IP}:8081 EOF success " meetingh5/.env.local → ws=${DEPLOY_TEST_IP}:8000, liveApi=${DEPLOY_TEST_IP}:8081" echo "" success "所有配置文件已更新!" echo "" echo -e "${BOLD}已修改配置摘要:${NC}" echo " Redis → 127.0.0.1:${REDIS_PORT} password=${REDIS_PASSWORD} (Docker)" echo " Kafka → 127.0.0.1:${KAFKA_PORT} (Docker)" echo " Etcd → 127.0.0.1:${ETCD_PORT} (Docker)" echo " MongoDB → ${MONGO_HOST}:${MONGO_PORT} DB(openim)=${MONGO_DATABASE} DB(build)=${BUILD_MONGO_DATABASE}" echo " LiveKit → ${LIVEKIT_URL} node_ip=${LIVEKIT_NODE_IP} key=${LIVEKIT_API_KEY}" echo " Tencent RTC → sdk_app_id=${TENCENT_SDK_APP_ID}" echo " S3 (openim) → s3://${OPENIM_AWS_BUCKET} region=${OPENIM_AWS_REGION}" echo " S3 (build) → s3://${BUILD_AWS_BUCKET} region=${BUILD_AWS_REGION}" echo " MeetingMsg → webhook afterSendGroupMsg=enabled → 127.0.0.1:8000" echo " MeetingH5 → ws=${DEPLOY_TEST_IP}:8000, liveApi=${DEPLOY_TEST_IP}:8081" echo "" echo -e "${BOLD}下一步:${NC}" echo -e " 启动 Docker 基础设施(Redis/Kafka/Etcd):" echo -e " ${CYAN}./deploy-test/03-start-infra.sh${NC}"