2025-10-14 09:36:35 +08:00
2025-09-21 16:40:26 +08:00
2025-10-14 09:36:35 +08:00
2025-09-21 13:28:21 +08:00
2025-09-21 13:28:21 +08:00
2025-10-06 21:48:39 +08:00
2025-10-06 21:48:39 +08:00

Compose Anything

Compose Anything helps users quickly deploy various services by providing a set of high-quality Docker Compose configuration files. These configurations constrain resource usage, can be easily migrated to systems like K8S, and are easy to understand and modify.

Supported Services

Service Version
Apache HTTP Server 2.4.62
Apache APISIX 3.13.0
Bifrost Gateway 1.2.15
Apache Cassandra 5.0.2
Clash 1.18.0
HashiCorp Consul 1.20.3
Docker Registry 3.0.0
Elasticsearch 8.16.1
etcd 3.6.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
Grafana 12.1.1
Halo 2.21.9
Harbor v2.12.0
IOPaint latest
Jenkins 2.486-lts
Apache Kafka 7.8.0
Kibana 8.16.1
Kodbox 1.62
Kong 3.8.0
Langfuse 3.115.0
Logstash 8.16.1
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
n8n 1.114.0
Nginx 1.29.1
Ollama 0.12.0
Open WebUI main
OpenCut latest
PocketBase 0.30.0
PostgreSQL 17.6
Prometheus 3.5.0
Qdrant 1.15.4
RabbitMQ 4.1.4
Redis 8.2.1
Redis Cluster 8.2.1
ZooKeeper 3.9.3
Nacos v3.1.0
Dify 0.18.2
GPUStack v0.5.3
vLLM v0.8.0
Bytebot edge
Neo4j 5.27.4
NebulaGraph v3.8.0
Kuzu N/A (Embedded)
Odoo 19.0
OpenCoze See Docs
OpenList latest
Node Exporter v1.8.2

Guidelines

  1. Out-of-the-box: Configurations should work out-of-the-box, requiring no setup to start (at most, provide a .env file).
  2. Simple Commands
    • Each project provides a single docker-compose.yaml file.
    • Command complexity should not exceed the docker compose command; if it does, provide a Makefile.
    • If a service requires initialization, use depends_on to simulate Init containers.
  3. Stable Versions
    • Provide the latest stable image version instead of latest.
    • Allow version configuration via environment variables.
  4. Highly Configurable
    • Prefer configuration via environment variables rather than complex command-line arguments.
    • Sensitive information like passwords should be passed via environment variables or mounted files, not hardcoded.
    • Provide reasonable defaults so services can start with zero configuration.
    • Provide a well-commented .env.example file to help users get started quickly.
    • Use Profiles for optional dependencies.
  5. Cross-Platform: (Where supported by the image) Ensure compatibility with major platforms.
    • Compatibility: Debian 12+/Ubuntu 22.04+, Windows 10+, macOS 12+.
    • Support multiple architectures where possible, such as x86-64 and ARM64.
  6. Careful Mounting
    • Use relative paths for configuration file mounts to ensure cross-platform compatibility.
    • Use named volumes for data directories to avoid permission and compatibility issues with host path mounts.
  7. Default Resource Limits
    • Limit CPU and memory usage for each service to prevent accidental resource exhaustion.
    • Limit log file size to prevent logs from filling up the disk.
    • For GPU services, enable single GPU by default.
  8. Comprehensive Documentation
    • Provide good documentation and examples to help users get started and understand the configurations.
    • Clearly explain how to initialize accounts, admin accounts, etc.
    • Provide security and license notes when necessary.
    • Offer LLM-friendly documentation for easy querying and understanding by language models.
  9. Best Practices: Follow other best practices to ensure security, performance, and maintainability.

License

MIT License.

Description
No description provided
Readme MIT 834 KiB
Languages
Dockerfile 49.8%
JavaScript 30.4%
HTML 19.8%