# Compose Anything Compose Anything 通过提供一组高质量的 Docker Compose 配置文件,帮助用户快速部署各种服务。这些配置约束了资源使用,可快速迁移到 K8S 等系统,并且易于理解和修改。 ## 已经支持的服务 | 服务 | 版本 | | ------------------------------------------------------------- | ----------------------------- | | [Apache HTTP Server](./src/apache) | 2.4.62 | | [Apache APISIX](./src/apisix) | 3.13.0 | | [Bifrost Gateway](./src/bifrost-gateway) | 1.2.15 | | [Apache Cassandra](./src/cassandra) | 5.0.2 | | [Clash](./src/clash) | 1.18.0 | | [HashiCorp Consul](./src/consul) | 1.20.3 | | [Dify](./src/dify) | latest | | [Dockge](./src/dockge) | 1 | | [Docker Registry](./src/docker-registry) | 3.0.0 | | [Elasticsearch](./src/elasticsearch) | 8.16.1 | | [etcd](./src/etcd) | 3.6.0 | | [Firecrawl](./src/firecrawl) | v1.16.0 | | [frpc](./src/frpc) | 0.64.0 | | [frps](./src/frps) | 0.64.0 | | [Gitea](./src/gitea) | 1.24.6 | | [Gitea Runner](./src/gitea-runner) | 0.2.12 | | [GitLab](./src/gitlab) | 17.10.4-ce.0 | | [GitLab Runner](./src/gitlab-runner) | 17.10.1 | | [Grafana](./src/grafana) | 12.1.1 | | [Halo](./src/halo) | 2.21.9 | | [Harbor](./src/harbor) | v2.12.0 | | [IOPaint](./src/io-paint) | latest | | [Jenkins](./src/jenkins) | 2.486-lts | | [Apache Kafka](./src/kafka) | 7.8.0 | | [Kibana](./src/kibana) | 8.16.1 | | [Kodbox](./src/kodbox) | 1.62 | | [Kong](./src/kong) | 3.8.0 | | [Langfuse](./src/langfuse) | 3.115.0 | | [Logstash](./src/logstash) | 8.16.1 | | [MariaDB Galera](./src/mariadb-galera) | 11.7.2 | | [Minecraft Bedrock Server](./src/minecraft-bedrock-server) | latest | | [Milvus Standalone](./src/milvus-standalone) | 2.6.2 | | [Milvus Standalone Embed](./src/milvus-standalone-embed) | 2.6.2 | | [MinerU SGALNG](./src/mineru-sgalng) | 2.2.2 | | [MinerU v2](./src/mineru-v2) | 2.5.3 | | [MinIO](./src/minio) | RELEASE.2025-09-07T16-13-09Z | | [MLflow](./src/mlflow) | v2.20.2 | | [MongoDB ReplicaSet](./src/mongodb-replicaset) | 8.0.13 | | [MongoDB Standalone](./src/mongodb-standalone) | 8.0.13 | | [MySQL](./src/mysql) | 9.4.0 | | [n8n](./src/n8n) | 1.114.0 | | [Nginx](./src/nginx) | 1.29.1 | | [Ollama](./src/ollama) | 0.12.0 | | [Open WebUI](./src/open-webui) | main | | [OpenCoze](./src/opencoze) | 见文档 | | [OpenCut](./src/opencut) | latest | | [OpenSearch](./src/opensearch) | 2.19.0 | | [PocketBase](./src/pocketbase) | 0.30.0 | | [PostgreSQL](./src/postgres) | 17.6 | | [Prometheus](./src/prometheus) | 3.5.0 | | [PyTorch](./src/pytorch) | 2.6.0-cuda12.6-cudnn9-runtime | | [Qdrant](./src/qdrant) | 1.15.4 | | [RabbitMQ](./src/rabbitmq) | 4.1.4 | | [Ray](./src/ray) | 2.42.1-py312 | | [Redis](./src/redis) | 8.2.1 | | [Stable Diffusion WebUI](./src/stable-diffusion-webui-docker) | latest | | [Stirling PDF](./src/stirling-pdf) | latest | | [Valkey](./src/valkey) | 8.0-alpine | | [Valkey Cluster](./src/valkey-cluster) | 8.0-alpine | ## 规范 1. **开箱即用**,配置应该是开箱即用的,无需配置也能启动(最多提供 `.env` 文件); 2. **命令简单** - 每个项目提供单一的 `docker-compose.yaml` 文件; - 命令的复杂性避免超过 `docker compose` 命令,如果超过请提供 `Makefile`; - 如果服务需要初始化,可借助 `depends_on` 模拟 Init 容器; 3. **版本稳定** - 提供一个最新稳定的镜像版本而不是 `latest`; - 允许通过环境变量配置版本号; 4. **充分可配置** - 尽量通过环境变量配置,而不是通过复杂的命令行参数; - 环境变量,密码等敏感信息应通过环境变量或挂载文件传递,不要硬编码; - 提供合理默认值,尽量零配置能启动; - 尽可能提供 `.env.example` 文件并有注释,帮助用户快速上手; - 如果是非必要依赖,请使用 Profiles 配置; 5. **跨平台**,(在镜像支持的情况下)请确保主流平台都能正常启动; - 兼容标准是:Debian 12+/Ubuntu 22.04+、Windows 10+、macOS 12+; - 尽可能兼容不同的架构,如 x86-64、ARM64; 6. **小心处理挂载** - 配置文件尽量使用相对路径挂载,确保跨平台兼容性; - 数据目录尽量使用命名卷,避免主机路径挂载带来的权限和兼容性问题; 7. **默认资源限制** - 对每个服务限制 CPU 和内存使用,防止意外的资源耗尽; - 限制日志的大小,防止日志文件占满磁盘; - 对于 GPU 服务默认启用单卡; 8. **文档全面** - 提供良好的文档和示例,帮助用户快速上手和理解配置; - 特别要提供如何初始化账户,管理员账户等说明; - 必要时,提供安全和许可说明; - 提供 LLM 友好的文档,方便用户使用 LLM 进行查询和理解; 9. **最佳实践**,遵循其他可能的最佳实践,确保安全性、性能和可维护性。 ## 开源协议 MIT License.