4.8 KiB
4.8 KiB
Compose Anything
Compose Anything 通过提供一组高质量的 Docker Compose 配置文件,帮助用户快速部署各种服务。这些配置约束了资源使用,可快速迁移到 K8S 等系统,并且易于理解和修改。
已经支持的服务
| 服务 | 版本 |
|---|---|
| Bifrost Gateway | 1.2.15 |
| Clash | 1.18.0 |
| Docker Registry | 3.0.0 |
| frpc | 0.64.0 |
| frps | 0.64.0 |
| Gitea | 1.24.6 |
| Gitea Runner | 0.2.12 |
| GitLab | 17.10.4-ce.0 |
| GitLab Runner | 17.10.1 |
| IOPaint | latest |
| Milvus Standalone | 2.6.2 |
| Milvus Standalone Embed | 2.6.2 |
| MinerU SGALNG | 2.2.2 |
| MinerU v2 | 2.5.3 |
| MinIO | RELEASE.2025-09-07T16-13-09Z |
| MongoDB ReplicaSet | 8.0.13 |
| MongoDB Standalone | 8.0.13 |
| MySQL | 9.4.0 |
| Ollama | 0.12.0 |
| Open WebUI | main |
| OpenCut | latest |
| PocketBase | 0.30.0 |
| PostgreSQL | 17.6 |
| Qdrant | 1.15.4 |
| RabbitMQ | 4.1.4 |
| Redis | 8.2.1 |
规范
- 开箱即用,配置应该是开箱即用的,无需配置也能启动(最多提供
.env文件); - 命令简单
- 每个项目提供单一的
docker-compose.yaml文件; - 命令的复杂性避免超过
docker compose命令,如果超过请提供Makefile; - 如果服务需要初始化,可借助
depends_on模拟 Init 容器;
- 每个项目提供单一的
- 版本稳定
- 提供一个最新稳定的镜像版本而不是
latest; - 允许通过环境变量配置版本号;
- 提供一个最新稳定的镜像版本而不是
- 充分可配置
- 尽量通过环境变量配置,而不是通过复杂的命令行参数;
- 环境变量,密码等敏感信息应通过环境变量或挂载文件传递,不要硬编码;
- 提供合理默认值,尽量零配置能启动;
- 尽可能提供
.env.example文件并有注释,帮助用户快速上手; - 如果是非必要依赖,请使用 Profiles 配置;
- 跨平台,(在镜像支持的情况下)请确保主流平台都能正常启动;
- 兼容标准是:Debian 12+/Ubuntu 22.04+、Windows 10+、macOS 12+;
- 尽可能兼容不同的架构,如 x86-64、ARM64;
- 小心处理挂载
- 配置文件尽量使用相对路径挂载,确保跨平台兼容性;
- 数据目录尽量使用命名卷,避免主机路径挂载带来的权限和兼容性问题;
- 默认资源限制
- 对每个服务限制 CPU 和内存使用,防止意外的资源耗尽;
- 限制日志的大小,防止日志文件占满磁盘;
- 对于 GPU 服务默认启用单卡;
- 文档全面
- 提供良好的文档和示例,帮助用户快速上手和理解配置;
- 特别要提供如何初始化账户,管理员账户等说明;
- 必要时,提供安全和许可说明;
- 提供 LLM 友好的文档,方便用户使用 LLM 进行查询和理解;
- 最佳实践,遵循其他可能的最佳实践,确保安全性、性能和可维护性。
开源协议
MIT License.