2.3 KiB
本地开发环境
本地开发使用 Docker Compose 只启动 Redis,Web、API、Scheduler 和 Worker 从源码运行并使用开发环境模板。第一阶段不自动启动 MySQL 和 RocketMQ 5.x。
配置
从 deploy/env/development/ 中对应的 *.env.example 创建本机 *.env.local。应用和 Schema 工具优先读取 api.env.local;真实文件被 Git 忽略,不得写入生产地址或真实密钥。当前固定开发 MySQL 可使用白名单地址 112.192.20.11:3306,Schema 工具仍只允许开发环境和 a_share_analysis_dev。
开发环境配置文件约定:
api.env.local:API 的 Redis、MySQL 和可选 AI 配置。scheduler.env.local:Scheduler 的 Redis、调度和可选 RocketMQ 配置。worker.env.local:Worker 的 Redis、MySQL、行情、AI 和可选 RocketMQ 配置。web.env.local:只包含VITE_前缀的前端变量。
Schema 基线会在空开发库启用时生成 captured_empty 清单,记录 MySQL 5.7 元数据和零对象计数,不生成伪造的空 SQL;旧版本 format v1 基线保持可验证且不会被当前配置反向改写。
Redis
docker compose -f deploy/compose/development.yml up -d
docker compose -f deploy/compose/development.yml ps
docker compose -f deploy/compose/development.yml down
Redis 只绑定 127.0.0.1:6379,数据写入仓库忽略的 .local/redis/。不得把该 Compose 文件用于生产。
RocketMQ 联调
RocketMQ 由开发者在项目 Compose 外独立启动。应用启用前至少需要 NameServer、Broker;采用推荐的 Node.js Proxy 接入时还需要 Proxy。默认端口约定:NameServer 9876、Broker 10911、Proxy gRPC 8081。
nc -vz 127.0.0.1 9876 只能证明 NameServer TCP 可达,不能证明 Topic 路由、Broker 注册或消息收发可用。完整联调必须继续检查 Broker 列表,并执行一次测试 Topic 的生产与消费。开发模板默认 ROCKETMQ_ENABLED=false;启用后必须提供可用的 ROCKETMQ_ENDPOINT,不得把生产地址写入本地配置或仓库。
应用状态
Web 和 Server 尚未完成脚手架,因此本版本只交付配置契约和 Redis 开发环境。后续脚手架必须使用 Node.js 22 LTS、pnpm 10 和这些模板,不能在本文档中假装应用已经可启动。