107 lines
5.2 KiB
Bash
Executable File
107 lines
5.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# =============================================================================
|
||
# 01-init-env.sh — 生成 .env.deploy-test 配置模板(测试服务器环境)
|
||
#
|
||
# 作用:在项目根目录生成 .env.deploy-test,填写各服务的连接信息
|
||
# 后续步骤:编辑 .env.deploy-test,然后执行 02-patch-config.sh
|
||
# =============================================================================
|
||
set -euo pipefail
|
||
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/common.sh"
|
||
init_dirs
|
||
init_script_log # ← 脚本执行日志
|
||
|
||
header "步骤 1 / 5 — 初始化 .env.deploy-test 配置"
|
||
|
||
if [[ -f "$ENV_FILE" ]]; then
|
||
warn ".env.deploy-test 已存在,跳过创建"
|
||
echo ""
|
||
echo -e "${BOLD}当前配置:${NC}"
|
||
grep -v '^\s*#' "$ENV_FILE" | grep -v '^\s*$' | sed 's/^/ /'
|
||
echo ""
|
||
echo -e "如需重置:${YELLOW}rm $ENV_FILE && $0${NC}"
|
||
exit 0
|
||
fi
|
||
|
||
cat > "$ENV_FILE" <<'EOF'
|
||
# =============================================================================
|
||
# 测试服务器环境配置 — .env.deploy-test
|
||
# 部署场景:测试服务器(有公网 IP),所有服务本地运行
|
||
# 编辑完成后执行:./deploy-test/02-patch-config.sh
|
||
# =============================================================================
|
||
|
||
# ── 测试服务器公网 IP(必填)─────────────────────────────────────────────────
|
||
# 本机(测试服务器)的公网 IP,LiveKit WebRTC 媒体流需要通过此 IP 对外暴露
|
||
# 本地 Mac 环境(deploy-local)也会引用此地址连接 LiveKit
|
||
DEPLOY_TEST_IP=54.116.29.247
|
||
|
||
# ── MongoDB(远程服务,必填)─────────────────────────────────────────────────
|
||
# open-im-server / chat / build-server 共用同一个连接,只是 DB 名不同
|
||
MONGO_HOST=47.237.103.4
|
||
MONGO_PORT=27017
|
||
MONGO_USERNAME=minio_pC5wMB
|
||
MONGO_PASSWORD=rI57PJsJhnz_qlRkfnTa0RPT
|
||
MONGO_AUTHSOURCE=openim_v3
|
||
MONGO_DATABASE=openim_v3 # open-im-server / chat 使用
|
||
BUILD_MONGO_DATABASE=build # build-server 使用
|
||
|
||
# ── Amazon S3 — open-im-server(IM 聊天文件存储,必填)──────────────────────
|
||
# 对应 open-im-server/config/openim-rpc-third.yml → object.aws
|
||
OPENIM_AWS_REGION=ap-southeast-1
|
||
OPENIM_AWS_BUCKET=im1688
|
||
OPENIM_AWS_ACCESS_KEY_ID=AKIA5TMMSZWVFYCLKJ2G
|
||
OPENIM_AWS_SECRET_ACCESS_KEY=P+slboxgk8MqqXFHBFYRxBCKNfXQVuL7n5GJS56p
|
||
# 自定义 Endpoint(CloudFlare R2 / 其他 S3 兼容服务),留空则使用 AWS 官方
|
||
OPENIM_AWS_ENDPOINT=
|
||
OPENIM_AWS_PUBLIC_READ=true
|
||
|
||
# ── Amazon S3 — build-server(App APK/IPA 构建产物存储,必填)───────────────
|
||
# 对应 build-server/config/config.yaml → aws
|
||
BUILD_AWS_REGION=ap-east-1
|
||
BUILD_AWS_BUCKET=im-hk-apk
|
||
BUILD_AWS_ACCESS_KEY=AKIASJ7PFAWCXUDC7KQV
|
||
BUILD_AWS_SECRET_KEY=BCubTUsGcYCVmb4bjCFO0BRbdGeTSwNZNK4EOWTZ
|
||
|
||
# ── Redis(Docker 本地运行)─────────────────────────────────────────────────
|
||
REDIS_PORT=6379
|
||
REDIS_PASSWORD=openIM123
|
||
|
||
# ── Kafka(Docker 本地运行,KRaft 模式)────────────────────────────────────
|
||
KAFKA_PORT=9092
|
||
|
||
# ── Etcd(Docker 本地运行,服务发现注册中心)───────────────────────────────
|
||
ETCD_PORT=2379
|
||
|
||
# ── LiveKit Server(Docker 本地运行,使用本机公网 IP)──────────────────────
|
||
# LiveKit 通过 Docker 启动(容器名: dev-livekit),复用 dev-redis。
|
||
# WebRTC 媒体流需要公网 IP,使用上方 DEPLOY_TEST_IP。
|
||
#
|
||
# LIVEKIT_NODE_IP: = DEPLOY_TEST_IP,WebRTC 客户端通过此 IP 直连媒体流
|
||
# LIVEKIT_URL: 后端服务连接 LiveKit 的地址(服务器内部用回环即可)
|
||
# LIVEKIT_API_KEY / LIVEKIT_API_SECRET: 来自 livekit/livekit.yaml → keys 段
|
||
LIVEKIT_NODE_IP=54.116.29.247 # 与 DEPLOY_TEST_IP 保持一致
|
||
LIVEKIT_URL=ws://127.0.0.1:7880
|
||
LIVEKIT_API_KEY=API8462dba2
|
||
LIVEKIT_API_SECRET=U0l7/3IQjWzusK2eOrWlGmLD5jSzALvV2G5tIxGQaQc=
|
||
|
||
# ── Cloudflare Stream(livestream 服务使用)──────────────────────────────────
|
||
# 来源: livestream/config.yaml → cloudflare 段(若已有值请从该文件复制)
|
||
CF_ACCOUNT_ID=
|
||
CF_API_TOKEN=
|
||
CF_EMAIL=
|
||
CF_API_KEY=
|
||
CF_CUSTOMER_CODE=
|
||
|
||
# ── 腾讯云 RTC(livecloud 服务使用)─────────────────────────────────────────
|
||
# 来源: livecloud/config/config.yml → cloud.tencent 段
|
||
TENCENT_SDK_APP_ID=20033091
|
||
TENCENT_SDK_SECRET_KEY=cceba44084aaa04f8c48a1858ffd5385875c3a5ec006d34278d9d3714b40e3b0
|
||
EOF
|
||
|
||
success ".env.deploy-test 已创建: $ENV_FILE"
|
||
echo ""
|
||
echo -e "${BOLD}下一步:${NC}"
|
||
echo -e " 1. 确认 DEPLOY_TEST_IP 等关键配置正确:"
|
||
echo -e " ${CYAN}vim $ENV_FILE${NC}"
|
||
echo -e " 2. 将配置写入各服务 YAML:"
|
||
echo -e " ${CYAN}./deploy-test/02-patch-config.sh${NC}"
|