修改配置
This commit is contained in:
37
README.md
37
README.md
@@ -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
|
||||
# ══ MinIO(open-im-server,Docker 容器 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 S3(build-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`(EXTERNAL,PLAINTEXT,默认 `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 :9000(API):9001(Console)←── 公网访问 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** 可测 MongoDB;S3 用 **`aws s3api head-bucket`** 判断访问,成功后再 `s3 ls` 仅作预览(避免旧版 `ls \| head` 因管道 SIGPIPE 误判失败)。 |
|
||||
| **未安装工具时** | MongoDB 可用 **nc** 仅测端口连通;S3 会跳过并打印手动验证命令。 |
|
||||
| **完整校验** | **mongosh** 可测 MongoDB;MinIO/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` 与联网)。 |
|
||||
|
||||
Reference in New Issue
Block a user