-
Notifications
You must be signed in to change notification settings - Fork 118
Open
Description
[任务] Docker Compose 一键启动 Mega / Orion Demo 环境
[任务分值] 35 分
[背景描述]
目前 Mega、Orion 相关组件在本地启动和联调时存在以下问题:
目前 Mega 与 Orion 相关组件(Mega 服务、UI、Orion Server、Orion 构建 Client)以及其依赖服务(如 PostgreSQL、Redis、RustFS)需要分别启动和配置:
为了提升 可演示性、可复现性和上手效率,需要提供一个 基于 Docker Compose 的一键启动方案,能够在本地快速拉起完整 Demo 环境。
[需求描述]
- 提供基于 Docker Compose 的一键启动能力
- 提供 docker-compose.yml(或 compose v2):
- 覆盖以下服务:
- Mega(Rust)
- Mega UI
- Orion Server(Rust)
- Orion Build Client
- Campsite(Ruby)
- PostgreSQL
- Redis
- RustFS
- 服务依赖与启动顺序管理
目标:
启动过程稳定,不依赖人工干预。
要求:
- 明确服务依赖关系,例如:
- Mega / Orion / Campsite 依赖 PG、Mysql,Redis,RustFS
- Orion Build Client 依赖 Orion Server
- 使用:
- depends_on
- healthcheck
- 避免:
- 服务启动后立即失败
- 竞态条件导致 Demo 不稳定
- 环境变量与配置统一管理
要求:
-
提供 .env.example 或内嵌默认配置:
- 数据库连接
- Redis URL
- RustFS endpoint
- 服务间访问地址
-
配置以 Demo 为目标:
-
不要求生产级安全配置
-
明确标注 Demo-only
- Demo 文档与使用说明
目标:
非项目核心开发者也能独立完成演示。
文档至少包含:
- 前置条件(Docker / Docker Compose 版本)
- 启动命令
- 常见问题(端口冲突、首次启动慢等)
- Demo 流程简介:
- 访问 UI
- 触发 Orion 构建
- 查看构建结果
[代码标准]
- 所有 PR 提交必须签署
Signed-off-by和 使用GPG签名,即提交代码时(使用git commit命令时)至少使用-s -S两个参数,参考 Contributing Guide; - 所有 PR 提交必须通过
GitHub Actions自动化测试,提交 PR 后请关注GitHub Actions结果; - 代码注释均需要使用英文;
[PR 提交地址] 提交到 mega 仓库的 main 分支 `` 目录;
[开发指导]
- 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;
[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。
- Quanyi Ma genedna@gmail.com
- Tianxing Ye yetianxing2014@gmail.com
[备注]
- 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务 和 r2cn 开源实习计划 - 学生注册与审核