2026-05-09 10:40:17 +08:00
..
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00
2026-05-09 10:40:17 +08:00

localbox部署

chatapp3 的线上部署已经迁移到 hy-app-monitor。这个目录只保留本地部署、本地构建、本地检查和本地联调能力。

目录结构

localbox部署/
├── deploy.sh                     # 统一入口
├── start_local_services.sh       # 启动本地环境
├── build_local_backend.sh        # 构建本地 Java 后端
├── restart_local_service.sh      # 重启单个服务
├── check_local_services.sh       # 检查本地服务状态
├── publish_local_nacos_configs.sh
├── local-services.compose.yml    # 本地完整环境 compose
├── local-infra.compose.yml       # 轻量基础设施 compose
├── local-infra/                  # MySQL / RocketMQ 初始化文件
├── .env.local                    # 本地环境变量
└── var/                          # 本地缓存和构建产物(已忽略)

前置条件

  • macOS 已安装 Docker Desktop
  • 如需重新编译 Java当前终端使用 JDK 17
  • 工作区中存在 chatapp3-javachatapp3-golang
  • 目录根部 .env.local 已准备好本地配置

脚本会自动识别现有的 ../../chatapp3/chatapp3-java../../chatapp3/chatapp3-golang。如果本地目录不同,可以通过 LIKEI_WORKSPACE_DIRLIKEI_LOCAL_JAVA_REPO_DIRLIKEI_LOCAL_GOLANG_REPO_DIR 覆盖。

快速开始

推荐统一从 hy-app-monitor/localbox部署 目录执行:

./deploy.sh start

如果只想启动、不重新构建本地 Java jar

./deploy.sh start --skip-build

如果只起基础设施,不起业务服务:

./deploy.sh start --infra-only

如果只想单独起轻量基础设施MySQL + Redis

docker compose --env-file ./.env.local -f ./local-infra.compose.yml up -d

常用命令

重新构建全部 Java 服务:

./deploy.sh build

只构建指定服务:

./deploy.sh build auth live other

检查全部本地服务状态:

./deploy.sh check

重启单个服务:

./deploy.sh restart live
./deploy.sh restart golang
./deploy.sh restart mysql
./deploy.sh restart rocketmq

重新构建并重启某个 Java 服务:

./deploy.sh restart --rebuild auth
./deploy.sh restart --rebuild live

重新发布本地 Nacos 配置:

./deploy.sh publish-nacos

启动流程

默认启动流程如下:

  1. 安装 chatapp3-java/maven_private 私有 Maven 包到本地 Maven 仓库。
  2. 当前终端为 JDK 17 时,使用 local profile 构建本地 Java jar。
  3. 启动本地 MySQL、Redis、Mongo、Nacos、Zookeeper。
  4. LIKEI_ROCKETMQ_LOCAL_DISABLE=false 时,额外启动本地 RocketMQ。
  5. 发布本地 Nacos 配置。
  6. 启动全部 Java 服务和 chatapp3-golang

脚本会优先复用当前可用的 Docker Desktop daemon如果 Docker Desktop 还没起来,会尝试自动拉起。

RocketMQ 开关

本地幸运礼物全链路默认可以启用 RocketMQ。开关在目录根部 .env.local

LIKEI_ROCKETMQ_LOCAL_DISABLE=false
LIKEI_ROCKETMQ_ENDPOINT=rocketmq-proxy:8081

如果只想先把 other 跑起来、不走 MQ

LIKEI_ROCKETMQ_LOCAL_DISABLE=true

脚本会自动给 other 补上 RocketMQAutoConfiguration 的排除参数。

常用排查

查看 compose 状态:

docker compose --env-file ./.env.local -f ./local-services.compose.yml ps

查看服务日志:

docker compose --env-file ./.env.local -f ./local-services.compose.yml logs -f live
docker compose --env-file ./.env.local -f ./local-services.compose.yml logs -f golang

本地端口

  • gateway: 1100
  • auth: 1000
  • wallet: 2000
  • other: 2400
  • live: 2500
  • order: 2600
  • console: 2700
  • external: 3000
  • visual-monitor: 8000
  • game-fruit: 8001
  • scheduling: 2800
  • golang: 2900
  • nacos: 8848
  • rocketmq namesrv: 19876
  • rocketmq proxy http: 18080
  • rocketmq proxy grpc: 18081
  • mysql: 13306
  • redis: 16379
  • mongo: 27018