修改配置

This commit is contained in:
vet
2026-04-13 22:25:56 +07:00
parent b94ecd7dd9
commit db787d6075
11 changed files with 128 additions and 77 deletions

View File

@@ -14,7 +14,7 @@
| 配置文件 | `.env.deploy-test` | `.env.deploy-local` |
| 运行时目录 | `.deploy-test/` | `.deploy-local/` |
| LiveKit | 本机 Docker 启动,使用公网 IP | 指向本目录服务器的 LiveKit |
| Redis/Kafka/Etcd | 本机 Docker | 本机 Docker |
| Redis/Kafka/Etcd/MinIO | 本机 Docker | 本机 Docker |
| 后端服务 | 本机进程 | 本机进程 |
| 前端服务 | 本机进程(可选) | 本机进程 |
@@ -28,7 +28,7 @@ deploy-test/
├── common.sh # 公共函数库(路径、日志函数)
├── 01-init-env.sh # 步骤1写入 .env.deploy-test已存在则覆盖旧文件带时间戳备份
├── 02-patch-config.sh # 步骤2将 .env.deploy-test 写入各服务 YAML
├── 03-start-infra.sh # 步骤3启动 Docker 容器Redis/Kafka/Etcd/LiveKit
├── 03-start-infra.sh # 步骤3启动 Docker 容器Redis/Kafka/Etcd/MinIO/LiveKit
├── 04-build.sh # 步骤4编译所有后端 Go 服务
├── 05-start.sh # 步骤5启动所有后端服务
├── 06-install-frontend.sh # 步骤6安装前端依赖可选
@@ -40,7 +40,7 @@ deploy-test/
├── restart.sh # 重启指定服务(支持 --build
├── status.sh # 查看所有服务状态
├── logs.sh # 查看日志(统一入口)
├── check-conn.sh # 验证 MongoDB / S3 连接
├── check-conn.sh # 验证 MongoDB / MinIO及 build-server 的 S3连接
└── setup.sh # 一键完整部署(首次使用)
```
@@ -111,7 +111,7 @@ vim .env.deploy-test
# 3. 将配置写入各服务 YAML包括 livekit/livekit.yaml
./deploy-test/02-patch-config.sh
# 4. 启动 Docker 基础设施Redis / Kafka / Etcd / LiveKit
# 4. 启动 Docker 基础设施Redis / Kafka / Etcd / MinIO / LiveKit
./deploy-test/03-start-infra.sh
# 5. 编译后端服务
@@ -148,18 +148,24 @@ MONGO_AUTHSOURCE=admin # 认证库(常见 admin须与 MongoDB
MONGO_DATABASE=openim_v3 # 业务数据所在库
BUILD_MONGO_DATABASE=build
# ══ Amazon S3 ══════════════════════════════════════════════════
OPENIM_AWS_REGION=ap-southeast-1
OPENIM_AWS_BUCKET=im1688
OPENIM_AWS_ACCESS_KEY_ID=xxx
OPENIM_AWS_SECRET_ACCESS_KEY=xxx
# ══ MinIOopen-im-serverDocker 容器 dev-minio═════════════════
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=xxx
MINIO_BUCKET=openim
MINIO_API_PORT=9000
MINIO_CONSOLE_PORT=9001
MINIO_INTERNAL_ADDRESS=127.0.0.1:9000
# 外网访问地址(与 DEPLOY_TEST_IP 一致),须安全组放行 TCP MINIO_API_PORT
MINIO_EXTERNAL_ADDRESS=http://54.116.29.247:9000
MINIO_PUBLIC_READ=true
# ══ Amazon S3build-server APK 存储,仍用云端)═════════════════
BUILD_AWS_REGION=ap-east-1
BUILD_AWS_BUCKET=im-hk-apk
BUILD_AWS_ACCESS_KEY=xxx
BUILD_AWS_SECRET_KEY=xxx
# ══ Docker Redis / Kafka / Etcd ════════════════════════════════
# ══ Docker Redis / Kafka / Etcd / MinIO ═════════════════════════
REDIS_PORT=6379
REDIS_PASSWORD=openIM123
KAFKA_PORT=9092
@@ -249,6 +255,7 @@ TENCENT_SDK_SECRET_KEY=xxx
| Redis | :6379 |
| Kafka | 本机服务:`127.0.0.1:9092`INTERNAL外网客户端`DEPLOY_TEST_IP:9094`EXTERNALPLAINTEXT默认 `KAFKA_EXTERNAL_PORT=9094` |
| Etcd | :2379 |
| MinIO | API `:9000`(映射 `MINIO_API_PORT`Console `:9001`;外网客户端使用 `MINIO_EXTERNAL_ADDRESS`(须安全组放行 TCP |
| LiveKit | :7880 (API) / :7882 (TCP) / :50000-51000/udp (WebRTC) |
> **Kafka 外网**`03-start-infra.sh` 使用双 listener。云主机安全组需放行 **TCP `KAFKA_EXTERNAL_PORT`**(默认 9094。仅本机跑后端时仍连 `127.0.0.1:9092` 即可。**若曾用旧脚本建过 `dev-kafka` 单 listener需** `docker rm -f dev-kafka` **并删除** `.deploy-test/docker-data/kafka` **后重新执行** `03-start-infra.sh`(或 `remove-infra.sh`)以应用新配置。公网 PLAINTEXT 无加密,生产请配合 VPN 或 SASL。
@@ -263,6 +270,7 @@ TENCENT_SDK_SECRET_KEY=xxx
测试服务器DEPLOY_TEST_IP: 54.116.29.247
├── dev-redis :6379 ←── dev-livekit 通过 host.docker.internal 访问
├── dev-minio :9000API:9001Console←── 公网访问 DEPLOY_TEST_IP:9000
└── dev-livekit
:7880 → HTTP API后端连接
:7882/tcp+udp → WebRTC fallback
@@ -285,6 +293,7 @@ TENCENT_SDK_SECRET_KEY=xxx
├── redis/
├── kafka/
├── etcd/
├── minio/
└── livekit/
```
@@ -342,14 +351,14 @@ TENCENT_SDK_SECRET_KEY=xxx
cd pc && rm -rf node_modules && yarn install
```
### `check-conn.sh`MongoDB / S3
### `check-conn.sh`MongoDB / MinIO / S3
`.env.deploy-test` 检查远程 MongoDB 与两个 S3 Bucket。
`.env.deploy-test` 检查远程 MongoDB、本机 **MinIO**`--endpoint-url http://127.0.0.1:MINIO_API_PORT`)与 build-server 的 **S3** Bucket。
| 项目 | 说明 |
|------|------|
| **完整校验** | **mongosh** 可测 MongoDBS3 用 **`aws s3api head-bucket`** 判断访问,成功后再 `s3 ls` 仅作预览(避免旧版 `ls \| head` 因管道 SIGPIPE 误判失败)。 |
| **未安装工具时** | MongoDB 可用 **nc** 仅测端口连通S3 会跳过并打印手动验证命令。 |
| **完整校验** | **mongosh** 可测 MongoDBMinIO/S3 用 **`aws s3api head-bucket`** 判断访问,成功后再 `s3 ls` 仅作预览(避免旧版 `ls \| head` 因管道 SIGPIPE 误判失败)。 |
| **未安装工具时** | MongoDB 可用 **nc** 仅测端口连通;MinIO/S3 会跳过并打印手动验证命令。 |
| **安装提示** | 脚本按系统给出命令macOS 为 `brew`Amazon/RHEL 为 `dnf`/`yum`),不会在 Linux 上误导为 `brew`。 |
| **Ubuntu/Debian 与 mongosh** | 默认 apt **没有** `mongodb-mongosh` 包(`Unable to locate package` 属正常)。需 [MongoDB 官方文档](https://www.mongodb.com/docs/mongodb-shell/install/) 添加 apt 源后再安装,或使用 `snap install mongosh`。 |
| **可选自动安装** | **root**`CHECK_CONN_AUTO_INSTALL=1`**mongosh** 依次默认 apt、snap、MongoDB 8.0 源。**aws** 先 `apt install awscli` / `dnf`/`yum``aws-cli`;若无包或失败再下载 **AWS CLI v2 官方 zip** 安装(需 `curl`/`unzip` 与联网)。 |