From 9c25970445946b58095b8b6f858ab4998f8180ce Mon Sep 17 00:00:00 2001 From: Sun-ZhenXing <1006925066@qq.com> Date: Thu, 1 Jan 2026 17:18:52 +0800 Subject: [PATCH] chore: format --- .compose-template.yaml | 15 +- .../instructions/Guidelines.instructions.md | 19 +- README.md | 222 +++++++++--------- README.zh.md | 222 +++++++++--------- {src => apps}/dify/.env.example | 0 {src => apps}/dify/README.md | 0 {src => apps}/dify/README.zh.md | 0 {src => apps}/dify/docker-compose.yaml | 20 +- apps/langfuse/docker-compose.yaml | 30 ++- builds/debian-dind/docker-compose.yaml | 8 +- src/bifrost-gateway/docker-compose.yaml | 38 ++- src/bolt-diy/docker-compose.yaml | 10 +- src/budibase/docker-compose.yaml | 10 +- src/bytebot/docker-compose.yaml | 6 +- src/clickhouse/docker-compose.yaml | 6 +- src/conductor/docker-compose.yaml | 19 +- src/easy-dataset/docker-compose.yaml | 2 +- src/firecrawl/docker-compose.yaml | 6 +- src/gitea/docker-compose.yaml | 12 +- src/litellm/docker-compose.yaml | 2 +- .../docker-compose.yaml | 11 +- src/milvus-standalone/docker-compose.yaml | 12 +- src/minio/.env.example | 6 + src/minio/.gitignore | 1 - src/minio/docker-compose.yaml | 6 +- src/mlflow/docker-compose.yaml | 2 +- src/odoo/docker-compose.yaml | 10 +- src/open-webui/docker-compose.yaml | 2 +- src/pingap/.env.example | 9 +- src/pingap/README.md | 10 +- src/pingap/README.zh.md | 10 +- src/pingap/docker-compose.yaml | 10 +- src/pocketbase/docker-compose.yaml | 2 +- .../docker-compose.yaml | 2 +- src/trigger-dev/docker-compose.yaml | 4 +- src/windmill/docker-compose.yaml | 6 +- 36 files changed, 450 insertions(+), 300 deletions(-) rename {src => apps}/dify/.env.example (100%) rename {src => apps}/dify/README.md (100%) rename {src => apps}/dify/README.zh.md (100%) rename {src => apps}/dify/docker-compose.yaml (93%) delete mode 100644 src/minio/.gitignore diff --git a/.compose-template.yaml b/.compose-template.yaml index af3f7e4..edc65e8 100644 --- a/.compose-template.yaml +++ b/.compose-template.yaml @@ -14,13 +14,18 @@ x-defaults: &defaults services: service-name: <<: *defaults - image: ${GLOBAL_REGISTRY:-}image:${VERSION:-latest} + #! Use ${GLOBAL_REGISTRY} for a global registry prefix if defined + #! If not pulls from Docker Hub by default, use ${GHCR_REGISTRY} for GitHub Container Registry, etc. + #! e.g. ${GLOBAL_REGISTRY:-}httpd:${APACHE_VERSION:-2.4.62-alpine3.20} + #! Use ${SERVICE_NAME_VERSION} to specify the image version, e.g., 3.2.1 + image: ${GLOBAL_REGISTRY:-}service-image:${SERVICE_NAME_VERSION:-3.2.1} + #! Do not add container_name to allow scaling and avoid name conflicts ports: - - "${PORT_OVERRIDE:-8080}:8080" + - "${SERVICE_NAME_PORT_OVERRIDE:-8080}:8080" volumes: - - service_data:/data + - service_name_data:/data environment: - - TZ=${TZ:-UTC} + - TZ=${TZ:-UTC} #! Set timezone, default to UTC - ENV_VAR=${ENV_VAR:-default_value} healthcheck: test: ["CMD", "command", "to", "check", "health"] @@ -38,4 +43,4 @@ services: memory: ${SERVICE_NAME_MEMORY_RESERVATION:-128M} volumes: - service_data: + service_name_data: diff --git a/.github/instructions/Guidelines.instructions.md b/.github/instructions/Guidelines.instructions.md index 08ef5a7..4a52a21 100644 --- a/.github/instructions/Guidelines.instructions.md +++ b/.github/instructions/Guidelines.instructions.md @@ -1,7 +1,11 @@ --- applyTo: '**' --- -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. +Compose Anything represents a collection of high-quality, production-ready, and portable Docker Compose configuration files. The primary objective is to allow users to deploy services "out-of-the-box" with minimal configuration while maintaining industry best practices. + +The architecture focuses on modularity, security, and orchestrator compatibility (e.g., easy migration to Kubernetes). The technical challenge lies in balancing simplicity (zero-config startup) with robustness (resource limits, health checks, multi-arch support, and security baselines). + +## Constraints 1. Out-of-the-box - Configurations should work out-of-the-box with no extra steps (at most, provide a `.env` file). @@ -42,7 +46,7 @@ Compose Anything helps users quickly deploy various services by providing a set - Least privilege: `cap_drop: ["ALL"]`, add back only what’s needed via `cap_add`; - Avoid `container_name` (hurts scaling and reusable network aliases); - If exposing Docker socket or other high-risk mounts, clearly document risks and alternatives. -11. Documentation & discoverability +11. Documentation & Discoverability - Provide clear docs and examples (include admin/initialization notes, and security/license notes when relevant); - Keep docs LLM-friendly; - List primary env vars and default ports in the README, and link to `README.md` / `README.zh.md`. @@ -51,8 +55,15 @@ Reference template: [`compose-template.yaml`](../../.compose-template.yaml) in t If you want to find image tags, try fetch url like `https://hub.docker.com/v2/repositories/library/nginx/tags?page_size=1&ordering=last_updated`. -Every service must have `.env.example`. - After update all of the services, please update `/README.md` & `/README.zh.md` to reflect the changes. +## Final Checklist + +1. Is .env.example present and fully commented in English? +2. Are CPU/Memory limits applied? +3. Is container_name removed? +4. Are healthcheck and service_healthy conditions correctly implemented? +5. Are the Chinese docs correctly punctuated with spaces between languages? +6. Have the root repository README files been updated to include the new service? + **注意**:所有中文的文档都使用中文的标点符号,如 “,”、“()” 等,中文和英文之间要留有空格。对于 Docker Compose 文件和 `.env.example` 文件中的注释部分,请使用英语而不是中文。请为每个服务提供英文说明 README.md 和中文说明 `README.zh.md`。 diff --git a/README.md b/README.md index bbdadf0..2f054f3 100644 --- a/README.md +++ b/README.md @@ -4,117 +4,117 @@ Compose Anything helps users quickly deploy various services by providing a set ## Supported Services -| Service | Version | -| ------------------------------------------------------------- | ---------------------------- | -| [Apache APISIX](./src/apisix) | 3.13.0 | -| [Apache Cassandra](./src/cassandra) | 5.0.2 | -| [Apache Flink](./src/flink) | 1.20.0 | -| [Apache HBase](./src/hbase) | 2.6 | -| [Apache HTTP Server](./src/apache) | 2.4.62 | -| [Apache Kafka](./src/kafka) | 7.8.0 | -| [Apache Pulsar](./src/pulsar) | 4.0.7 | -| [Apache RocketMQ](./src/rocketmq) | 5.3.1 | -| [Bifrost Gateway](./src/bifrost-gateway) | v1.3.54 | -| [Bolt.diy](./src/bolt-diy) | latest | -| [Budibase](./src/budibase) | 3.23.0 | -| [Bytebot](./src/bytebot) | edge | -| [Clash](./src/clash) | 1.18.0 | -| [ClickHouse](./src/clickhouse) | 24.11.1 | -| [Conductor](./src/conductor) | latest | -| [Dify](./src/dify) | 0.18.2 | -| [DNSMasq](./src/dnsmasq) | 2.91 | -| [Dockge](./src/dockge) | 1 | -| [Docker Registry](./src/docker-registry) | 3.0.0 | -| [DuckDB](./src/duckdb) | v1.1.3 | -| [Easy Dataset](./src/easy-dataset) | 1.5.1 | -| [Elasticsearch](./src/elasticsearch) | 8.16.1 | -| [etcd](./src/etcd) | 3.6.0 | -| [Firecrawl](./src/firecrawl) | latest | -| [frpc](./src/frpc) | 0.64.0 | -| [frps](./src/frps) | 0.64.0 | -| [Gitea Runner](./src/gitea-runner) | 0.2.13 | -| [Gitea](./src/gitea) | 1.24.6 | -| [GitLab Runner](./src/gitlab-runner) | 17.10.1 | -| [GitLab](./src/gitlab) | 17.10.4-ce.0 | -| [GPUStack](./src/gpustack) | v0.5.3 | -| [Grafana](./src/grafana) | 12.1.1 | -| [Halo](./src/halo) | 2.21.9 | -| [Harbor](./src/harbor) | v2.12.0 | -| [HashiCorp Consul](./src/consul) | 1.20.3 | -| [IOPaint](./builds/io-paint) | latest | -| [Jenkins](./src/jenkins) | 2.486-lts | -| [JODConverter](./src/jodconverter) | latest | -| [Kestra](./src/kestra) | latest-full | -| [Kibana](./src/kibana) | 8.16.1 | -| [Kodbox](./src/kodbox) | 1.62 | -| [Kong](./src/kong) | 3.8.0 | -| [Langflow](./apps/langflow) | latest | -| [Langfuse](./apps/langfuse) | 3.115.0 | -| [LibreOffice](./src/libreoffice) | latest | -| [libSQL Server](./src/libsql) | latest | -| [LiteLLM](./src/litellm) | main-stable | -| [Logstash](./src/logstash) | 8.16.1 | -| [MariaDB Galera Cluster](./src/mariadb-galera) | 11.7.2 | -| [Milvus Standalone Embed](./src/milvus-standalone-embed) | v2.6.7 | -| [Milvus Standalone](./src/milvus-standalone) | v2.6.7 | -| [Minecraft Bedrock Server](./src/minecraft-bedrock-server) | latest | -| [MinerU SGLang](./src/mineru-sglang) | 2.2.2 | -| [MinerU vLLM](./builds/mineru-vllm) | 2.6.4 | -| [MinIO](./src/minio) | RELEASE.2025-09-07T16-13-09Z | -| [MLflow](./src/mlflow) | v2.20.2 | -| [MongoDB ReplicaSet Single](./src/mongodb-replicaset-single) | 8.2.3 | -| [MongoDB ReplicaSet](./src/mongodb-replicaset) | 8.2.3 | -| [MongoDB Standalone](./src/mongodb-standalone) | 8.2.3 | -| [MySQL](./src/mysql) | 9.4.0 | -| [n8n](./src/n8n) | 1.114.0 | -| [Nacos](./src/nacos) | v3.1.0 | -| [NebulaGraph](./src/nebulagraph) | v3.8.0 | -| [NexaSDK](./src/nexa-sdk) | v0.2.62 | -| [Neo4j](./src/neo4j) | 5.27.4 | -| [Netdata](./src/netdata) | latest | -| [Nginx](./src/nginx) | 1.29.1 | -| [Node Exporter](./src/node-exporter) | v1.8.2 | -| [OceanBase](./src/oceanbase) | 4.3.3 | -| [Odoo](./src/odoo) | 19.0 | -| [Ollama](./src/ollama) | 0.12.0 | -| [Open WebUI](./src/open-webui) | main | -| [Phoenix (Arize)](./src/phoenix) | 12.19.0 | -| [Pingora Proxy Manager](./src/pingora-proxy-manager) | v1.0.3 | -| [Open WebUI Rust](./src/open-webui-rust) | latest | -| [OpenCoze](./src/opencoze) | See Docs | -| [OpenCut](./src/opencut) | latest | -| [OpenList](./src/openlist) | latest | -| [OpenSearch](./src/opensearch) | 2.19.0 | -| [PocketBase](./src/pocketbase) | 0.30.0 | -| [Portainer](./src/portainer) | 2.27.3-alpine | -| [Portkey AI Gateway](./src/portkey-gateway) | latest | -| [PostgreSQL](./src/postgres) | 17.6 | -| [Prometheus](./src/prometheus) | 3.5.0 | -| [PyTorch](./src/pytorch) | 2.6.0 | -| [Qdrant](./src/qdrant) | 1.15.4 | -| [RabbitMQ](./src/rabbitmq) | 4.1.4 | -| [Ray](./src/ray) | 2.42.1 | -| [Redpanda](./src/redpanda) | v24.3.1 | -| [Redis Cluster](./src/redis-cluster) | 8.2.1 | -| [Redis](./src/redis) | 8.2.1 | -| [Renovate](./src/renovate) | 42.52.5-full | -| [Restate Cluster](./src/restate-cluster) | 1.5.3 | -| [Restate](./src/restate) | 1.5.3 | -| [SearXNG](./src/searxng) | 2025.1.20-1ce14ef99 | -| [Sim](./apps/sim) | latest | -| [Stable Diffusion WebUI](./src/stable-diffusion-webui-docker) | latest | -| [Stirling-PDF](./src/stirling-pdf) | latest | -| [Temporal](./src/temporal) | 1.24.2 | -| [TiDB](./src/tidb) | v8.5.0 | -| [TiKV](./src/tikv) | v8.5.0 | -| [Trigger.dev](./src/trigger-dev) | v4.2.0 | -| [TrailBase](./src/trailbase) | 0.22.4 | -| [Valkey Cluster](./src/valkey-cluster) | 8.0 | -| [Valkey](./src/valkey) | 8.0 | -| [Verdaccio](./src/verdaccio) | 6.1.2 | -| [vLLM](./src/vllm) | v0.13.0 | -| [Windmill](./src/windmill) | main | -| [ZooKeeper](./src/zookeeper) | 3.9.3 | +| Service | Version | +| ------------------------------------------------------------- | ------------------- | +| [Apache APISIX](./src/apisix) | 3.13.0 | +| [Apache Cassandra](./src/cassandra) | 5.0.2 | +| [Apache Flink](./src/flink) | 1.20.0 | +| [Apache HBase](./src/hbase) | 2.6 | +| [Apache HTTP Server](./src/apache) | 2.4.62 | +| [Apache Kafka](./src/kafka) | 7.8.0 | +| [Apache Pulsar](./src/pulsar) | 4.0.7 | +| [Apache RocketMQ](./src/rocketmq) | 5.3.1 | +| [Bifrost Gateway](./src/bifrost-gateway) | v1.3.54 | +| [Bolt.diy](./src/bolt-diy) | latest | +| [Budibase](./src/budibase) | 3.23.0 | +| [Bytebot](./src/bytebot) | edge | +| [Clash](./src/clash) | 1.18.0 | +| [ClickHouse](./src/clickhouse) | 24.11.1 | +| [Conductor](./src/conductor) | latest | +| [Dify](./apps/dify) | 0.18.2 | +| [DNSMasq](./src/dnsmasq) | 2.91 | +| [Dockge](./src/dockge) | 1 | +| [Docker Registry](./src/docker-registry) | 3.0.0 | +| [DuckDB](./src/duckdb) | v1.1.3 | +| [Easy Dataset](./src/easy-dataset) | 1.5.1 | +| [Elasticsearch](./src/elasticsearch) | 8.16.1 | +| [etcd](./src/etcd) | 3.6.0 | +| [Firecrawl](./src/firecrawl) | latest | +| [frpc](./src/frpc) | 0.64.0 | +| [frps](./src/frps) | 0.64.0 | +| [Gitea Runner](./src/gitea-runner) | 0.2.13 | +| [Gitea](./src/gitea) | 1.24.6 | +| [GitLab Runner](./src/gitlab-runner) | 17.10.1 | +| [GitLab](./src/gitlab) | 17.10.4-ce.0 | +| [GPUStack](./src/gpustack) | v0.5.3 | +| [Grafana](./src/grafana) | 12.1.1 | +| [Halo](./src/halo) | 2.21.9 | +| [Harbor](./src/harbor) | v2.12.0 | +| [HashiCorp Consul](./src/consul) | 1.20.3 | +| [IOPaint](./builds/io-paint) | latest | +| [Jenkins](./src/jenkins) | 2.486-lts | +| [JODConverter](./src/jodconverter) | latest | +| [Kestra](./src/kestra) | latest-full | +| [Kibana](./src/kibana) | 8.16.1 | +| [Kodbox](./src/kodbox) | 1.62 | +| [Kong](./src/kong) | 3.8.0 | +| [Langflow](./apps/langflow) | latest | +| [Langfuse](./apps/langfuse) | 3.115.0 | +| [LibreOffice](./src/libreoffice) | latest | +| [libSQL Server](./src/libsql) | latest | +| [LiteLLM](./src/litellm) | main-stable | +| [Logstash](./src/logstash) | 8.16.1 | +| [MariaDB Galera Cluster](./src/mariadb-galera) | 11.7.2 | +| [Milvus Standalone Embed](./src/milvus-standalone-embed) | v2.6.7 | +| [Milvus Standalone](./src/milvus-standalone) | v2.6.7 | +| [Minecraft Bedrock Server](./src/minecraft-bedrock-server) | latest | +| [MinerU SGLang](./src/mineru-sglang) | 2.2.2 | +| [MinerU vLLM](./builds/mineru-vllm) | 2.6.4 | +| [MinIO](./src/minio) | 0.20251015 | +| [MLflow](./src/mlflow) | v2.20.2 | +| [MongoDB ReplicaSet Single](./src/mongodb-replicaset-single) | 8.2.3 | +| [MongoDB ReplicaSet](./src/mongodb-replicaset) | 8.2.3 | +| [MongoDB Standalone](./src/mongodb-standalone) | 8.2.3 | +| [MySQL](./src/mysql) | 9.4.0 | +| [n8n](./src/n8n) | 1.114.0 | +| [Nacos](./src/nacos) | v3.1.0 | +| [NebulaGraph](./src/nebulagraph) | v3.8.0 | +| [NexaSDK](./src/nexa-sdk) | v0.2.62 | +| [Neo4j](./src/neo4j) | 5.27.4 | +| [Netdata](./src/netdata) | latest | +| [Nginx](./src/nginx) | 1.29.1 | +| [Node Exporter](./src/node-exporter) | v1.8.2 | +| [OceanBase](./src/oceanbase) | 4.3.3 | +| [Odoo](./src/odoo) | 19.0 | +| [Ollama](./src/ollama) | 0.12.0 | +| [Open WebUI](./src/open-webui) | main | +| [Phoenix (Arize)](./src/phoenix) | 12.19.0 | +| [Pingora Proxy Manager](./src/pingora-proxy-manager) | v1.0.3 | +| [Open WebUI Rust](./src/open-webui-rust) | latest | +| [OpenCoze](./src/opencoze) | See Docs | +| [OpenCut](./src/opencut) | latest | +| [OpenList](./src/openlist) | latest | +| [OpenSearch](./src/opensearch) | 2.19.0 | +| [PocketBase](./src/pocketbase) | 0.30.0 | +| [Portainer](./src/portainer) | 2.27.3-alpine | +| [Portkey AI Gateway](./src/portkey-gateway) | latest | +| [PostgreSQL](./src/postgres) | 17.6 | +| [Prometheus](./src/prometheus) | 3.5.0 | +| [PyTorch](./src/pytorch) | 2.6.0 | +| [Qdrant](./src/qdrant) | 1.15.4 | +| [RabbitMQ](./src/rabbitmq) | 4.1.4 | +| [Ray](./src/ray) | 2.42.1 | +| [Redpanda](./src/redpanda) | v24.3.1 | +| [Redis Cluster](./src/redis-cluster) | 8.2.1 | +| [Redis](./src/redis) | 8.2.1 | +| [Renovate](./src/renovate) | 42.52.5-full | +| [Restate Cluster](./src/restate-cluster) | 1.5.3 | +| [Restate](./src/restate) | 1.5.3 | +| [SearXNG](./src/searxng) | 2025.1.20-1ce14ef99 | +| [Sim](./apps/sim) | latest | +| [Stable Diffusion WebUI](./src/stable-diffusion-webui-docker) | latest | +| [Stirling-PDF](./src/stirling-pdf) | latest | +| [Temporal](./src/temporal) | 1.24.2 | +| [TiDB](./src/tidb) | v8.5.0 | +| [TiKV](./src/tikv) | v8.5.0 | +| [Trigger.dev](./src/trigger-dev) | v4.2.0 | +| [TrailBase](./src/trailbase) | 0.22.4 | +| [Valkey Cluster](./src/valkey-cluster) | 8.0 | +| [Valkey](./src/valkey) | 8.0 | +| [Verdaccio](./src/verdaccio) | 6.1.2 | +| [vLLM](./src/vllm) | v0.13.0 | +| [Windmill](./src/windmill) | main | +| [ZooKeeper](./src/zookeeper) | 3.9.3 | ## MCP Servers diff --git a/README.zh.md b/README.zh.md index bcacdde..221cf49 100644 --- a/README.zh.md +++ b/README.zh.md @@ -4,117 +4,117 @@ Compose Anything 通过提供一组高质量的 Docker Compose 配置文件, ## 已经支持的服务 -| 服务 | 版本 | -| ------------------------------------------------------------- | ---------------------------- | -| [Apache APISIX](./src/apisix) | 3.13.0 | -| [Apache Cassandra](./src/cassandra) | 5.0.2 | -| [Apache Flink](./src/flink) | 1.20.0 | -| [Apache HBase](./src/hbase) | 2.6 | -| [Apache HTTP Server](./src/apache) | 2.4.62 | -| [Apache Kafka](./src/kafka) | 7.8.0 | -| [Apache Pulsar](./src/pulsar) | 4.0.7 | -| [Apache RocketMQ](./src/rocketmq) | 5.3.1 | -| [Bifrost Gateway](./src/bifrost-gateway) | v1.3.54 | -| [Bolt.diy](./src/bolt-diy) | latest | -| [Budibase](./src/budibase) | 3.23.0 | -| [Bytebot](./src/bytebot) | edge | -| [Clash](./src/clash) | 1.18.0 | -| [ClickHouse](./src/clickhouse) | 24.11.1 | -| [Conductor](./src/conductor) | latest | -| [Dify](./src/dify) | 0.18.2 | -| [DNSMasq](./src/dnsmasq) | 2.91 | -| [Dockge](./src/dockge) | 1 | -| [Docker Registry](./src/docker-registry) | 3.0.0 | -| [DuckDB](./src/duckdb) | v1.1.3 | -| [Easy Dataset](./src/easy-dataset) | 1.5.1 | -| [Elasticsearch](./src/elasticsearch) | 8.16.1 | -| [etcd](./src/etcd) | 3.6.0 | -| [Firecrawl](./src/firecrawl) | latest | -| [frpc](./src/frpc) | 0.64.0 | -| [frps](./src/frps) | 0.64.0 | -| [Gitea Runner](./src/gitea-runner) | 0.2.13 | -| [Gitea](./src/gitea) | 1.24.6 | -| [GitLab Runner](./src/gitlab-runner) | 17.10.1 | -| [GitLab](./src/gitlab) | 17.10.4-ce.0 | -| [GPUStack](./src/gpustack) | v0.5.3 | -| [Grafana](./src/grafana) | 12.1.1 | -| [Halo](./src/halo) | 2.21.9 | -| [Harbor](./src/harbor) | v2.12.0 | -| [HashiCorp Consul](./src/consul) | 1.20.3 | -| [IOPaint](./builds/io-paint) | latest | -| [Jenkins](./src/jenkins) | 2.486-lts | -| [JODConverter](./src/jodconverter) | latest | -| [Kestra](./src/kestra) | latest-full | -| [Kibana](./src/kibana) | 8.16.1 | -| [Kodbox](./src/kodbox) | 1.62 | -| [Kong](./src/kong) | 3.8.0 | -| [Langflow](./apps/langflow) | latest | -| [Langfuse](./apps/langfuse) | 3.115.0 | -| [LibreOffice](./src/libreoffice) | latest | -| [libSQL Server](./src/libsql) | latest | -| [LiteLLM](./src/litellm) | main-stable | -| [Logstash](./src/logstash) | 8.16.1 | -| [MariaDB Galera 集群](./src/mariadb-galera) | 11.7.2 | -| [Milvus Standalone Embed](./src/milvus-standalone-embed) | v2.6.7 | -| [Milvus Standalone](./src/milvus-standalone) | v2.6.7 | -| [Minecraft Bedrock Server](./src/minecraft-bedrock-server) | latest | -| [MinerU SGLang](./src/mineru-sglang) | 2.2.2 | -| [MinerU vLLM](./builds/mineru-vllm) | 2.6.4 | -| [MinIO](./src/minio) | RELEASE.2025-09-07T16-13-09Z | -| [MLflow](./src/mlflow) | v2.20.2 | -| [MongoDB ReplicaSet Single](./src/mongodb-replicaset-single) | 8.2.3 | -| [MongoDB ReplicaSet](./src/mongodb-replicaset) | 8.2.3 | -| [MongoDB Standalone](./src/mongodb-standalone) | 8.2.3 | -| [MySQL](./src/mysql) | 9.4.0 | -| [n8n](./src/n8n) | 1.114.0 | -| [Nacos](./src/nacos) | v3.1.0 | -| [NebulaGraph](./src/nebulagraph) | v3.8.0 | -| [NexaSDK](./src/nexa-sdk) | v0.2.62 | -| [Neo4j](./src/neo4j) | 5.27.4 | -| [Netdata](./src/netdata) | latest | -| [Nginx](./src/nginx) | 1.29.1 | -| [Node Exporter](./src/node-exporter) | v1.8.2 | -| [OceanBase](./src/oceanbase) | 4.3.3 | -| [Odoo](./src/odoo) | 19.0 | -| [Ollama](./src/ollama) | 0.12.0 | -| [Open WebUI](./src/open-webui) | main | -| [Phoenix (Arize)](./src/phoenix) | 12.19.0 | -| [Pingora Proxy Manager](./src/pingora-proxy-manager) | v1.0.3 | -| [Open WebUI Rust](./src/open-webui-rust) | latest | -| [OpenCoze](./src/opencoze) | See Docs | -| [OpenCut](./src/opencut) | latest | -| [OpenList](./src/openlist) | latest | -| [OpenSearch](./src/opensearch) | 2.19.0 | -| [PocketBase](./src/pocketbase) | 0.30.0 | -| [Portainer](./src/portainer) | 2.27.3-alpine | -| [Portkey AI Gateway](./src/portkey-gateway) | latest | -| [PostgreSQL](./src/postgres) | 17.6 | -| [Prometheus](./src/prometheus) | 3.5.0 | -| [PyTorch](./src/pytorch) | 2.6.0 | -| [Qdrant](./src/qdrant) | 1.15.4 | -| [RabbitMQ](./src/rabbitmq) | 4.1.4 | -| [Ray](./src/ray) | 2.42.1 | -| [Redpanda](./src/redpanda) | v24.3.1 | -| [Redis Cluster](./src/redis-cluster) | 8.2.1 | -| [Redis](./src/redis) | 8.2.1 | -| [Renovate](./src/renovate) | 42.52.5-full | -| [Restate Cluster](./src/restate-cluster) | 1.5.3 | -| [Restate](./src/restate) | 1.5.3 | -| [SearXNG](./src/searxng) | 2025.1.20-1ce14ef99 | -| [Sim](./apps/sim) | latest | -| [Stable Diffusion WebUI](./src/stable-diffusion-webui-docker) | latest | -| [Stirling-PDF](./src/stirling-pdf) | latest | -| [Temporal](./src/temporal) | 1.24.2 | -| [TiDB](./src/tidb) | v8.5.0 | -| [TiKV](./src/tikv) | v8.5.0 | -| [Trigger.dev](./src/trigger-dev) | v4.2.0 | -| [TrailBase](./src/trailbase) | 0.22.4 | -| [Valkey Cluster](./src/valkey-cluster) | 8.0 | -| [Valkey](./src/valkey) | 8.0 | -| [Verdaccio](./src/verdaccio) | 6.1.2 | -| [vLLM](./src/vllm) | v0.13.0 | -| [Windmill](./src/windmill) | main | -| [ZooKeeper](./src/zookeeper) | 3.9.3 | +| 服务 | 版本 | +| ------------------------------------------------------------- | ------------------- | +| [Apache APISIX](./src/apisix) | 3.13.0 | +| [Apache Cassandra](./src/cassandra) | 5.0.2 | +| [Apache Flink](./src/flink) | 1.20.0 | +| [Apache HBase](./src/hbase) | 2.6 | +| [Apache HTTP Server](./src/apache) | 2.4.62 | +| [Apache Kafka](./src/kafka) | 7.8.0 | +| [Apache Pulsar](./src/pulsar) | 4.0.7 | +| [Apache RocketMQ](./src/rocketmq) | 5.3.1 | +| [Bifrost Gateway](./src/bifrost-gateway) | v1.3.54 | +| [Bolt.diy](./src/bolt-diy) | latest | +| [Budibase](./src/budibase) | 3.23.0 | +| [Bytebot](./src/bytebot) | edge | +| [Clash](./src/clash) | 1.18.0 | +| [ClickHouse](./src/clickhouse) | 24.11.1 | +| [Conductor](./src/conductor) | latest | +| [Dify](./apps/dify) | 0.18.2 | +| [DNSMasq](./src/dnsmasq) | 2.91 | +| [Dockge](./src/dockge) | 1 | +| [Docker Registry](./src/docker-registry) | 3.0.0 | +| [DuckDB](./src/duckdb) | v1.1.3 | +| [Easy Dataset](./src/easy-dataset) | 1.5.1 | +| [Elasticsearch](./src/elasticsearch) | 8.16.1 | +| [etcd](./src/etcd) | 3.6.0 | +| [Firecrawl](./src/firecrawl) | latest | +| [frpc](./src/frpc) | 0.64.0 | +| [frps](./src/frps) | 0.64.0 | +| [Gitea Runner](./src/gitea-runner) | 0.2.13 | +| [Gitea](./src/gitea) | 1.24.6 | +| [GitLab Runner](./src/gitlab-runner) | 17.10.1 | +| [GitLab](./src/gitlab) | 17.10.4-ce.0 | +| [GPUStack](./src/gpustack) | v0.5.3 | +| [Grafana](./src/grafana) | 12.1.1 | +| [Halo](./src/halo) | 2.21.9 | +| [Harbor](./src/harbor) | v2.12.0 | +| [HashiCorp Consul](./src/consul) | 1.20.3 | +| [IOPaint](./builds/io-paint) | latest | +| [Jenkins](./src/jenkins) | 2.486-lts | +| [JODConverter](./src/jodconverter) | latest | +| [Kestra](./src/kestra) | latest-full | +| [Kibana](./src/kibana) | 8.16.1 | +| [Kodbox](./src/kodbox) | 1.62 | +| [Kong](./src/kong) | 3.8.0 | +| [Langflow](./apps/langflow) | latest | +| [Langfuse](./apps/langfuse) | 3.115.0 | +| [LibreOffice](./src/libreoffice) | latest | +| [libSQL Server](./src/libsql) | latest | +| [LiteLLM](./src/litellm) | main-stable | +| [Logstash](./src/logstash) | 8.16.1 | +| [MariaDB Galera 集群](./src/mariadb-galera) | 11.7.2 | +| [Milvus Standalone Embed](./src/milvus-standalone-embed) | v2.6.7 | +| [Milvus Standalone](./src/milvus-standalone) | v2.6.7 | +| [Minecraft Bedrock Server](./src/minecraft-bedrock-server) | latest | +| [MinerU SGLang](./src/mineru-sglang) | 2.2.2 | +| [MinerU vLLM](./builds/mineru-vllm) | 2.6.4 | +| [MinIO](./src/minio) | 0.20251015 | +| [MLflow](./src/mlflow) | v2.20.2 | +| [MongoDB ReplicaSet Single](./src/mongodb-replicaset-single) | 8.2.3 | +| [MongoDB ReplicaSet](./src/mongodb-replicaset) | 8.2.3 | +| [MongoDB Standalone](./src/mongodb-standalone) | 8.2.3 | +| [MySQL](./src/mysql) | 9.4.0 | +| [n8n](./src/n8n) | 1.114.0 | +| [Nacos](./src/nacos) | v3.1.0 | +| [NebulaGraph](./src/nebulagraph) | v3.8.0 | +| [NexaSDK](./src/nexa-sdk) | v0.2.62 | +| [Neo4j](./src/neo4j) | 5.27.4 | +| [Netdata](./src/netdata) | latest | +| [Nginx](./src/nginx) | 1.29.1 | +| [Node Exporter](./src/node-exporter) | v1.8.2 | +| [OceanBase](./src/oceanbase) | 4.3.3 | +| [Odoo](./src/odoo) | 19.0 | +| [Ollama](./src/ollama) | 0.12.0 | +| [Open WebUI](./src/open-webui) | main | +| [Phoenix (Arize)](./src/phoenix) | 12.19.0 | +| [Pingora Proxy Manager](./src/pingora-proxy-manager) | v1.0.3 | +| [Open WebUI Rust](./src/open-webui-rust) | latest | +| [OpenCoze](./src/opencoze) | See Docs | +| [OpenCut](./src/opencut) | latest | +| [OpenList](./src/openlist) | latest | +| [OpenSearch](./src/opensearch) | 2.19.0 | +| [PocketBase](./src/pocketbase) | 0.30.0 | +| [Portainer](./src/portainer) | 2.27.3-alpine | +| [Portkey AI Gateway](./src/portkey-gateway) | latest | +| [PostgreSQL](./src/postgres) | 17.6 | +| [Prometheus](./src/prometheus) | 3.5.0 | +| [PyTorch](./src/pytorch) | 2.6.0 | +| [Qdrant](./src/qdrant) | 1.15.4 | +| [RabbitMQ](./src/rabbitmq) | 4.1.4 | +| [Ray](./src/ray) | 2.42.1 | +| [Redpanda](./src/redpanda) | v24.3.1 | +| [Redis Cluster](./src/redis-cluster) | 8.2.1 | +| [Redis](./src/redis) | 8.2.1 | +| [Renovate](./src/renovate) | 42.52.5-full | +| [Restate Cluster](./src/restate-cluster) | 1.5.3 | +| [Restate](./src/restate) | 1.5.3 | +| [SearXNG](./src/searxng) | 2025.1.20-1ce14ef99 | +| [Sim](./apps/sim) | latest | +| [Stable Diffusion WebUI](./src/stable-diffusion-webui-docker) | latest | +| [Stirling-PDF](./src/stirling-pdf) | latest | +| [Temporal](./src/temporal) | 1.24.2 | +| [TiDB](./src/tidb) | v8.5.0 | +| [TiKV](./src/tikv) | v8.5.0 | +| [Trigger.dev](./src/trigger-dev) | v4.2.0 | +| [TrailBase](./src/trailbase) | 0.22.4 | +| [Valkey Cluster](./src/valkey-cluster) | 8.0 | +| [Valkey](./src/valkey) | 8.0 | +| [Verdaccio](./src/verdaccio) | 6.1.2 | +| [vLLM](./src/vllm) | v0.13.0 | +| [Windmill](./src/windmill) | main | +| [ZooKeeper](./src/zookeeper) | 3.9.3 | ## MCP 服务器 diff --git a/src/dify/.env.example b/apps/dify/.env.example similarity index 100% rename from src/dify/.env.example rename to apps/dify/.env.example diff --git a/src/dify/README.md b/apps/dify/README.md similarity index 100% rename from src/dify/README.md rename to apps/dify/README.md diff --git a/src/dify/README.zh.md b/apps/dify/README.zh.md similarity index 100% rename from src/dify/README.zh.md rename to apps/dify/README.zh.md diff --git a/src/dify/docker-compose.yaml b/apps/dify/docker-compose.yaml similarity index 93% rename from src/dify/docker-compose.yaml rename to apps/dify/docker-compose.yaml index fc9a51e..b90909c 100644 --- a/src/dify/docker-compose.yaml +++ b/apps/dify/docker-compose.yaml @@ -40,7 +40,15 @@ services: cpus: ${DIFY_API_CPU_RESERVATION:-0.5} memory: ${DIFY_API_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5001/health"] + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://localhost:5001/health", + ] interval: 30s timeout: 10s retries: 3 @@ -172,7 +180,15 @@ services: cpus: ${DIFY_WEAVIATE_CPU_RESERVATION:-0.25} memory: ${DIFY_WEAVIATE_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/v1/.well-known/ready"] + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://localhost:8080/v1/.well-known/ready", + ] interval: 30s timeout: 10s retries: 3 diff --git a/apps/langfuse/docker-compose.yaml b/apps/langfuse/docker-compose.yaml index 8e48f46..e4e7d9c 100644 --- a/apps/langfuse/docker-compose.yaml +++ b/apps/langfuse/docker-compose.yaml @@ -88,7 +88,15 @@ services: cpus: ${LANGFUSE_WORKER_CPU_RESERVATION:-0.5} memory: ${LANGFUSE_WORKER_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:3030/api/health"] + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://127.0.0.1:3030/api/health", + ] interval: 30s timeout: 10s retries: 3 @@ -122,7 +130,15 @@ services: cpus: ${LANGFUSE_WEB_CPU_RESERVATION:-0.5} memory: ${LANGFUSE_WEB_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:3000/api/public/health"] + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://127.0.0.1:3000/api/public/health", + ] interval: 30s timeout: 10s retries: 3 @@ -131,6 +147,8 @@ services: clickhouse: <<: *defaults image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${CLICKHOUSE_VERSION:-latest} + profiles: + - ${COMPOSE_PROFILES:-} user: "101:101" environment: CLICKHOUSE_DB: default @@ -160,7 +178,9 @@ services: minio: <<: *defaults - image: ${CGR_DEV_REGISTRY:-cgr.dev/}chainguard/minio:${MINIO_VERSION:-latest} + image: ${CGR_DEV_REGISTRY:-cgr.dev}/chainguard/minio:${MINIO_VERSION:-latest} + profiles: + - ${COMPOSE_PROFILES:-} entrypoint: sh # create the 'langfuse' bucket before starting the service command: -c 'mkdir -p /data/langfuse && minio server --address ":9000" --console-address ":9001" /data' @@ -188,6 +208,8 @@ services: redis: <<: *defaults image: ${GLOBAL_REGISTRY:-}redis:${REDIS_VERSION:-7} + profiles: + - ${COMPOSE_PROFILES:-} command: > --requirepass ${REDIS_AUTH:-myredissecret} --maxmemory-policy noeviction @@ -208,6 +230,8 @@ services: postgres: <<: *defaults image: ${GLOBAL_REGISTRY:-}postgres:${POSTGRES_VERSION:-17} + profiles: + - ${COMPOSE_PROFILES:-} environment: POSTGRES_USER: ${POSTGRES_USER:-postgres} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres} diff --git a/builds/debian-dind/docker-compose.yaml b/builds/debian-dind/docker-compose.yaml index a0dc5e2..b04df2c 100644 --- a/builds/debian-dind/docker-compose.yaml +++ b/builds/debian-dind/docker-compose.yaml @@ -13,6 +13,8 @@ services: dind: <<: *defaults image: ${GLOBAL_REGISTRY:-}alexsuntop/debian-dind:${DEBIAN_DIND_VERSION:-0.1.0} + profiles: + - ${COMPOSE_PROFILES:-} build: context: . dockerfile: Dockerfile @@ -41,13 +43,13 @@ services: reservations: cpus: ${DIND_CPU_RESERVATION:-1.0} memory: ${DIND_MEMORY_RESERVATION:-2G} - profiles: - - ${COMPOSE_PROFILES:-} # GPU-enabled DinD (optional) dind-gpu: <<: *defaults image: ${GLOBAL_REGISTRY:-}alexsuntop/debian-dind:${DEBIAN_DIND_GPU_VERSION:-0.1.0-gpu} + profiles: + - gpu build: context: . dockerfile: Dockerfile @@ -82,8 +84,6 @@ services: - driver: nvidia count: 1 capabilities: [gpu] - profiles: - - gpu volumes: dind_data: diff --git a/src/bifrost-gateway/docker-compose.yaml b/src/bifrost-gateway/docker-compose.yaml index 327d583..acabb96 100644 --- a/src/bifrost-gateway/docker-compose.yaml +++ b/src/bifrost-gateway/docker-compose.yaml @@ -25,7 +25,15 @@ services: cpus: ${BIFROST_CPU_RESERVATION:-0.10} memory: ${BIFROST_MEMORY_RESERVATION:-128M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/health"] + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://localhost:8080/health", + ] interval: 30s timeout: 10s retries: 3 @@ -39,14 +47,22 @@ services: - ./config/prometheus.yml:/etc/prometheus/prometheus.yml - prometheus_data:/prometheus command: - - '--config.file=/etc/prometheus/prometheus.yml' - - '--storage.tsdb.path=/prometheus' - - '--web.console.libraries=/usr/share/prometheus/console_libraries' - - '--web.console.templates=/usr/share/prometheus/consoles' + - "--config.file=/etc/prometheus/prometheus.yml" + - "--storage.tsdb.path=/prometheus" + - "--web.console.libraries=/usr/share/prometheus/console_libraries" + - "--web.console.templates=/usr/share/prometheus/consoles" ports: - "${PROMETHEUS_PORT:-29090}:9090" healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:9090/-/healthy"] + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://localhost:9090/-/healthy", + ] interval: 30s timeout: 10s retries: 3 @@ -74,7 +90,15 @@ services: ports: - "${GRAFANA_PORT:-23000}:3000" healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/api/health"] + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://localhost:3000/api/health", + ] interval: 30s timeout: 10s retries: 3 diff --git a/src/bolt-diy/docker-compose.yaml b/src/bolt-diy/docker-compose.yaml index 0bec758..3d18c7d 100644 --- a/src/bolt-diy/docker-compose.yaml +++ b/src/bolt-diy/docker-compose.yaml @@ -25,7 +25,15 @@ services: cpus: ${BOLT_DIY_CPU_RESERVATION:-0.5} memory: ${BOLT_DIY_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5173/"] + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://localhost:5173/", + ] interval: 30s timeout: 10s retries: 3 diff --git a/src/budibase/docker-compose.yaml b/src/budibase/docker-compose.yaml index e09bc89..6ac4739 100644 --- a/src/budibase/docker-compose.yaml +++ b/src/budibase/docker-compose.yaml @@ -74,7 +74,15 @@ services: redis: condition: service_healthy healthcheck: - test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/health"] + test: + [ + "CMD", + "wget", + "--quiet", + "--tries=1", + "--spider", + "http://localhost/health", + ] interval: 30s timeout: 10s retries: 3 diff --git a/src/bytebot/docker-compose.yaml b/src/bytebot/docker-compose.yaml index 4ef6e89..d4afa40 100644 --- a/src/bytebot/docker-compose.yaml +++ b/src/bytebot/docker-compose.yaml @@ -9,7 +9,7 @@ x-defaults: &defaults services: bytebot-desktop: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}bytebot-ai/bytebot-desktop:${BYTEBOT_VERSION:-edge} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/bytebot-ai/bytebot-desktop:${BYTEBOT_VERSION:-edge} ports: - "${BYTEBOT_DESKTOP_PORT_OVERRIDE:-9990}:9990" environment: @@ -32,7 +32,7 @@ services: bytebot-agent: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}bytebot-ai/bytebot-agent:${BYTEBOT_VERSION:-edge} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/bytebot-ai/bytebot-agent:${BYTEBOT_VERSION:-edge} depends_on: bytebot-desktop: condition: service_healthy @@ -64,7 +64,7 @@ services: bytebot-ui: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}bytebot-ai/bytebot-ui:${BYTEBOT_VERSION:-edge} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/bytebot-ai/bytebot-ui:${BYTEBOT_VERSION:-edge} depends_on: bytebot-agent: condition: service_healthy diff --git a/src/clickhouse/docker-compose.yaml b/src/clickhouse/docker-compose.yaml index 891dd78..891896b 100644 --- a/src/clickhouse/docker-compose.yaml +++ b/src/clickhouse/docker-compose.yaml @@ -41,7 +41,11 @@ services: cpus: ${CLICKHOUSE_CPU_RESERVATION:-1.0} memory: ${CLICKHOUSE_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1"] + test: + [ + "CMD-SHELL", + "wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1", + ] interval: 30s timeout: 10s retries: 3 diff --git a/src/conductor/docker-compose.yaml b/src/conductor/docker-compose.yaml index 0fa7e64..da1d09c 100644 --- a/src/conductor/docker-compose.yaml +++ b/src/conductor/docker-compose.yaml @@ -66,7 +66,15 @@ services: elasticsearch: condition: service_healthy healthcheck: - test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8080/health"] + test: + [ + "CMD", + "wget", + "--quiet", + "--tries=1", + "--spider", + "http://localhost:8080/health", + ] interval: 30s timeout: 10s retries: 5 @@ -93,7 +101,11 @@ services: volumes: - postgres_data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-conductor} -d ${POSTGRES_DB:-conductor}"] + test: + [ + "CMD-SHELL", + "pg_isready -U ${POSTGRES_USER:-conductor} -d ${POSTGRES_DB:-conductor}", + ] interval: 10s timeout: 5s retries: 5 @@ -118,7 +130,8 @@ services: volumes: - elasticsearch_data:/usr/share/elasticsearch/data healthcheck: - test: ["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1"] + test: + ["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1"] interval: 30s timeout: 10s retries: 5 diff --git a/src/easy-dataset/docker-compose.yaml b/src/easy-dataset/docker-compose.yaml index 189aca8..b55e418 100644 --- a/src/easy-dataset/docker-compose.yaml +++ b/src/easy-dataset/docker-compose.yaml @@ -9,7 +9,7 @@ x-defaults: &defaults services: easy-dataset: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}conardli/easy-dataset:${EASY_DATASET_VERSION:-1.5.1} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/conardli/easy-dataset:${EASY_DATASET_VERSION:-1.5.1} ports: - "${EASY_DATASET_PORT_OVERRIDE:-1717}:1717" volumes: diff --git a/src/firecrawl/docker-compose.yaml b/src/firecrawl/docker-compose.yaml index 26f0bbd..6378bb6 100644 --- a/src/firecrawl/docker-compose.yaml +++ b/src/firecrawl/docker-compose.yaml @@ -39,7 +39,7 @@ x-common-env: &common-env services: playwright-service: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}firecrawl/playwright-service:${PLAYWRIGHT_VERSION:-latest} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/firecrawl/playwright-service:${PLAYWRIGHT_VERSION:-latest} environment: PORT: 3000 PROXY_SERVER: ${PROXY_SERVER:-} @@ -57,7 +57,7 @@ services: api: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}firecrawl/firecrawl:${FIRECRAWL_VERSION:-latest} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/firecrawl/firecrawl:${FIRECRAWL_VERSION:-latest} environment: <<: *common-env HOST: 0.0.0.0 @@ -121,7 +121,7 @@ services: nuq-postgres: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}firecrawl/nuq-postgres:${NUQ_POSTGRES_VERSION:-latest} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/firecrawl/nuq-postgres:${NUQ_POSTGRES_VERSION:-latest} environment: POSTGRES_USER: ${POSTGRES_USER:-postgres} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres} diff --git a/src/gitea/docker-compose.yaml b/src/gitea/docker-compose.yaml index fd343b0..64f0f32 100644 --- a/src/gitea/docker-compose.yaml +++ b/src/gitea/docker-compose.yaml @@ -37,7 +37,15 @@ services: cpus: ${GITEA_CPU_RESERVATION:-0.5} memory: ${GITEA_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/"] + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://localhost:3000/", + ] interval: 30s timeout: 10s retries: 3 @@ -46,6 +54,8 @@ services: db: <<: *defaults image: ${GLOBAL_REGISTRY:-}postgres:${POSTGRES_VERSION:-17.6} + profiles: + - ${COMPOSE_PROFILES:-} environment: - TZ=${TZ:-UTC} - POSTGRES_USER=${POSTGRES_USER:-gitea} diff --git a/src/litellm/docker-compose.yaml b/src/litellm/docker-compose.yaml index 6e7c199..66e2fb9 100644 --- a/src/litellm/docker-compose.yaml +++ b/src/litellm/docker-compose.yaml @@ -13,7 +13,7 @@ services: context: . args: target: runtime - image: ${GHCR_IO_REGISTRY:-ghcr.io/}berriai/litellm:${LITELLM_VERSION:-main-stable} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/berriai/litellm:${LITELLM_VERSION:-main-stable} # Uncomment these lines to start proxy with a config.yaml file # volumes: # - ./config.yaml:/app/config.yaml:ro diff --git a/src/milvus-standalone-embed/docker-compose.yaml b/src/milvus-standalone-embed/docker-compose.yaml index ab04032..959885e 100644 --- a/src/milvus-standalone-embed/docker-compose.yaml +++ b/src/milvus-standalone-embed/docker-compose.yaml @@ -65,12 +65,19 @@ services: cpus: ${ATTU_CPU_RESERVATION:-0.1} memory: ${ATTU_MEMORY_RESERVATION:-128M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/"] + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://localhost:3000/", + ] interval: 30s timeout: 10s retries: 3 start_period: 10s - volumes: milvus_data: diff --git a/src/milvus-standalone/docker-compose.yaml b/src/milvus-standalone/docker-compose.yaml index 595404a..01ff80b 100644 --- a/src/milvus-standalone/docker-compose.yaml +++ b/src/milvus-standalone/docker-compose.yaml @@ -67,7 +67,7 @@ services: image: ${GLOBAL_REGISTRY:-}milvusdb/milvus:${MILVUS_VERSION:-v2.6.7} command: ["milvus", "run", "standalone"] security_opt: - - seccomp:unconfined + - seccomp:unconfined environment: TZ: ${TZ:-UTC} ETCD_ENDPOINTS: etcd:2379 @@ -120,7 +120,15 @@ services: cpus: ${ATTU_CPU_RESERVATION:-0.1} memory: ${ATTU_MEMORY_RESERVATION:-128M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/"] + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://localhost:3000/", + ] interval: 30s timeout: 10s retries: 3 diff --git a/src/minio/.env.example b/src/minio/.env.example index e9689f0..a903162 100644 --- a/src/minio/.env.example +++ b/src/minio/.env.example @@ -11,3 +11,9 @@ MINIO_PORT_OVERRIDE_WEBUI=9001 # Timezone TZ=UTC + +# Resource Limits +MINIO_CPU_LIMIT=0.5 +MINIO_MEMORY_LIMIT=1G +MINIO_CPU_RESERVATION=0.25 +MINIO_MEMORY_RESERVATION=512M diff --git a/src/minio/.gitignore b/src/minio/.gitignore deleted file mode 100644 index 50cf6de..0000000 --- a/src/minio/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/config diff --git a/src/minio/docker-compose.yaml b/src/minio/docker-compose.yaml index 736e049..8bde2e3 100644 --- a/src/minio/docker-compose.yaml +++ b/src/minio/docker-compose.yaml @@ -9,7 +9,7 @@ x-defaults: &defaults services: minio: <<: *defaults - image: cgr.dev/chainguard/minio:${MINIO_VERSION:-0.20251015} + image: ${CGR_DEV_REGISTRY:cgr.dev-}/chainguard/minio:${MINIO_VERSION:-0.20251015} ports: - "${MINIO_PORT_OVERRIDE_API:-9000}:9000" - "${MINIO_PORT_OVERRIDE_WEBUI:-9001}:9001" @@ -29,10 +29,10 @@ services: deploy: resources: limits: - cpus: ${MINIO_CPU_LIMIT:-1.0} + cpus: ${MINIO_CPU_LIMIT:-0.5} memory: ${MINIO_MEMORY_LIMIT:-1G} reservations: - cpus: ${MINIO_CPU_RESERVATION:-0.5} + cpus: ${MINIO_CPU_RESERVATION:-0.25} memory: ${MINIO_MEMORY_RESERVATION:-512M} diff --git a/src/mlflow/docker-compose.yaml b/src/mlflow/docker-compose.yaml index dbf7ef2..b1f0166 100644 --- a/src/mlflow/docker-compose.yaml +++ b/src/mlflow/docker-compose.yaml @@ -77,7 +77,7 @@ services: mlflow: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}mlflow/mlflow:${MLFLOW_VERSION:-v2.20.2} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/mlflow/mlflow:${MLFLOW_VERSION:-v2.20.2} depends_on: postgres: condition: service_healthy diff --git a/src/odoo/docker-compose.yaml b/src/odoo/docker-compose.yaml index e119c63..00f0189 100644 --- a/src/odoo/docker-compose.yaml +++ b/src/odoo/docker-compose.yaml @@ -34,7 +34,15 @@ services: cpus: ${ODOO_CPU_RESERVATION:-0.5} memory: ${ODOO_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8069/"] + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://localhost:8069/", + ] interval: 30s timeout: 10s retries: 3 diff --git a/src/open-webui/docker-compose.yaml b/src/open-webui/docker-compose.yaml index 3923dc1..f8370f4 100644 --- a/src/open-webui/docker-compose.yaml +++ b/src/open-webui/docker-compose.yaml @@ -9,7 +9,7 @@ x-defaults: &defaults services: open_webui: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}open-webui/open-webui:${OPEN_WEBUI_VERSION:-main} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/open-webui/open-webui:${OPEN_WEBUI_VERSION:-main} ports: - "${OPEN_WEBUI_PORT_OVERRIDE:-8080}:8080" volumes: diff --git a/src/pingap/.env.example b/src/pingap/.env.example index 727b6e7..7b0a40e 100644 --- a/src/pingap/.env.example +++ b/src/pingap/.env.example @@ -6,11 +6,8 @@ TZ=UTC # Pingap Version # Use version-full for production (includes OpenTelemetry, Sentry, image compression plugins) -# Available tags: latest, full, 0.12.1, 0.12.1-full -PINGAP_VERSION=0.12.1-full - -# Container Name (optional, leave empty for auto-generated name) -PINGAP_CONTAINER_NAME= +# Available tags: latest, full, 0.12.7, 0.12.7-full +PINGAP_VERSION=0.12.7-full # Port Overrides # HTTP port - exposed on host @@ -28,7 +25,7 @@ PINGAP_ADMIN_ADDR=0.0.0.0:80/pingap # Admin username PINGAP_ADMIN_USER=admin # Admin password (REQUIRED - set a strong password!) -PINGAP_ADMIN_PASSWORD=changeme +PINGAP_ADMIN_PASSWORD=password # Resource Limits PINGAP_CPU_LIMIT=1.0 diff --git a/src/pingap/README.md b/src/pingap/README.md index 46c902d..64387a4 100644 --- a/src/pingap/README.md +++ b/src/pingap/README.md @@ -49,13 +49,13 @@ A high-performance reverse proxy built on Cloudflare Pingora, designed as a more | Variable | Description | Default | | ---------------------------- | ------------------------------------------ | ------------------- | -| `PINGAP_VERSION` | Image version (recommended: `0.12.1-full`) | `0.12.1-full` | +| `PINGAP_VERSION` | Image version (recommended: `0.12.7-full`) | `0.12.7-full` | | `PINGAP_HTTP_PORT_OVERRIDE` | HTTP port on host | `80` | | `PINGAP_HTTPS_PORT_OVERRIDE` | HTTPS port on host | `443` | | `PINGAP_DATA_DIR` | Data directory for persistent storage | `./pingap` | | `PINGAP_ADMIN_ADDR` | Admin interface address | `0.0.0.0:80/pingap` | | `PINGAP_ADMIN_USER` | Admin username | `admin` | -| `PINGAP_ADMIN_PASSWORD` | Admin password (REQUIRED) | - | +| `PINGAP_ADMIN_PASSWORD` | Admin password | `password` | | `PINGAP_CPU_LIMIT` | CPU limit | `1.0` | | `PINGAP_MEMORY_LIMIT` | Memory limit | `512M` | @@ -63,8 +63,8 @@ A high-performance reverse proxy built on Cloudflare Pingora, designed as a more - `vicanso/pingap:latest` - Latest development version (not recommended for production) - `vicanso/pingap:full` - Latest development version with all features -- `vicanso/pingap:0.12.1` - Stable version without extra dependencies -- `vicanso/pingap:0.12.1-full` - **Recommended**: Stable version with OpenTelemetry, Sentry, and image compression +- `vicanso/pingap:0.12.7` - Stable version without extra dependencies +- `vicanso/pingap:0.12.7-full` - **Recommended**: Stable version with OpenTelemetry, Sentry, and image compression ### Persistent Storage @@ -103,7 +103,7 @@ docker compose down ### Production Recommendations -- Use versioned tags (e.g., `0.12.1-full`) instead of `latest` or `full` +- Use versioned tags (e.g., `0.12.7-full`) instead of `latest` or `full` - Configure appropriate resource limits based on your traffic - Set up proper monitoring and logging - Enable HTTPS with valid certificates diff --git a/src/pingap/README.zh.md b/src/pingap/README.zh.md index 97c127d..78c9dd0 100644 --- a/src/pingap/README.zh.md +++ b/src/pingap/README.zh.md @@ -49,13 +49,13 @@ | 变量名 | 说明 | 默认值 | | ---------------------------- | ------------------------------- | ------------------- | -| `PINGAP_VERSION` | 镜像版本(推荐:`0.12.1-full`) | `0.12.1-full` | +| `PINGAP_VERSION` | 镜像版本(推荐:`0.12.7-full`) | `0.12.7-full` | | `PINGAP_HTTP_PORT_OVERRIDE` | 主机 HTTP 端口 | `80` | | `PINGAP_HTTPS_PORT_OVERRIDE` | 主机 HTTPS 端口 | `443` | | `PINGAP_DATA_DIR` | 持久化数据目录 | `./pingap` | | `PINGAP_ADMIN_ADDR` | 管理界面地址 | `0.0.0.0:80/pingap` | | `PINGAP_ADMIN_USER` | 管理员用户名 | `admin` | -| `PINGAP_ADMIN_PASSWORD` | 管理员密码(必填) | - | +| `PINGAP_ADMIN_PASSWORD` | 管理员密码 | `password` | | `PINGAP_CPU_LIMIT` | CPU 限制 | `1.0` | | `PINGAP_MEMORY_LIMIT` | 内存限制 | `512M` | @@ -63,8 +63,8 @@ - `vicanso/pingap:latest` - 最新开发版(不推荐用于生产环境) - `vicanso/pingap:full` - 包含所有功能的最新开发版 -- `vicanso/pingap:0.12.1` - 不含额外依赖的稳定版 -- `vicanso/pingap:0.12.1-full` - **推荐**:包含 OpenTelemetry、Sentry 和图片压缩的稳定版 +- `vicanso/pingap:0.12.7` - 不含额外依赖的稳定版 +- `vicanso/pingap:0.12.7-full` - **推荐**:包含 OpenTelemetry、Sentry 和图片压缩的稳定版 ### 持久化存储 @@ -103,7 +103,7 @@ docker compose down ### 生产环境建议 -- 使用带版本号的标签(如 `0.12.1-full`),而非 `latest` 或 `full` +- 使用带版本号的标签(如 `0.12.7-full`),而非 `latest` 或 `full` - 根据流量情况配置适当的资源限制 - 设置适当的监控和日志记录 - 启用 HTTPS 并使用有效证书 diff --git a/src/pingap/docker-compose.yaml b/src/pingap/docker-compose.yaml index a2f1ef0..29a0f3d 100644 --- a/src/pingap/docker-compose.yaml +++ b/src/pingap/docker-compose.yaml @@ -12,19 +12,18 @@ x-defaults: &defaults services: pingap: <<: *defaults - image: ${GLOBAL_REGISTRY:-}vicanso/pingap:${PINGAP_VERSION:-0.12.1-full} - container_name: ${PINGAP_CONTAINER_NAME:-} + image: ${GLOBAL_REGISTRY:-}vicanso/pingap:${PINGAP_VERSION:-0.12.7-full} ports: - "${PINGAP_HTTP_PORT_OVERRIDE:-80}:80" - "${PINGAP_HTTPS_PORT_OVERRIDE:-443}:443" volumes: - - ${PINGAP_DATA_DIR:-./pingap}:/opt/pingap + - pingap_data:/opt/pingap environment: - TZ=${TZ:-UTC} - PINGAP_CONF=/opt/pingap/conf - PINGAP_ADMIN_ADDR=${PINGAP_ADMIN_ADDR:-0.0.0.0:80/pingap} - PINGAP_ADMIN_USER=${PINGAP_ADMIN_USER:-admin} - - PINGAP_ADMIN_PASSWORD=${PINGAP_ADMIN_PASSWORD:?PINGAP_ADMIN_PASSWORD must be set} + - PINGAP_ADMIN_PASSWORD=${PINGAP_ADMIN_PASSWORD:-password} command: - pingap - --autoreload @@ -42,3 +41,6 @@ services: reservations: cpus: ${PINGAP_CPU_RESERVATION:-0.5} memory: ${PINGAP_MEMORY_RESERVATION:-256M} + +volumes: + pingap_data: diff --git a/src/pocketbase/docker-compose.yaml b/src/pocketbase/docker-compose.yaml index 8a77308..935406c 100644 --- a/src/pocketbase/docker-compose.yaml +++ b/src/pocketbase/docker-compose.yaml @@ -9,7 +9,7 @@ x-defaults: &defaults services: pocketbase: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}muchobien/pocketbase:${PB_VERSION:-0.30.0} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/muchobien/pocketbase:${PB_VERSION:-0.30.0} environment: TZ: ${TZ:-UTC} # Optional ENCRYPTION (Ensure this is a 32-character long encryption key) diff --git a/src/stable-diffusion-webui-docker/docker-compose.yaml b/src/stable-diffusion-webui-docker/docker-compose.yaml index dce3fcf..ab78392 100644 --- a/src/stable-diffusion-webui-docker/docker-compose.yaml +++ b/src/stable-diffusion-webui-docker/docker-compose.yaml @@ -9,7 +9,7 @@ x-defaults: &defaults services: stable-diffusion-webui: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}absolutelyludicrous/sdnext:${SD_WEBUI_VERSION:-latest} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/absolutelyludicrous/sdnext:${SD_WEBUI_VERSION:-latest} ports: - "${SD_WEBUI_PORT_OVERRIDE:-7860}:7860" environment: diff --git a/src/trigger-dev/docker-compose.yaml b/src/trigger-dev/docker-compose.yaml index c086af4..77c536f 100644 --- a/src/trigger-dev/docker-compose.yaml +++ b/src/trigger-dev/docker-compose.yaml @@ -17,7 +17,7 @@ services: webapp: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}triggerdotdev/trigger.dev:${TRIGGER_IMAGE_TAG:-v4.2.0} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/triggerdotdev/trigger.dev:${TRIGGER_IMAGE_TAG:-v4.2.0} ports: - "${TRIGGER_PORT:-8030}:3030" environment: @@ -312,7 +312,7 @@ services: supervisor: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}triggerdotdev/supervisor:${TRIGGER_IMAGE_TAG:-v4.2.0} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/triggerdotdev/supervisor:${TRIGGER_IMAGE_TAG:-v4.2.0} environment: - TZ=${TZ:-UTC} # Required settings diff --git a/src/windmill/docker-compose.yaml b/src/windmill/docker-compose.yaml index fd54f26..e732a74 100644 --- a/src/windmill/docker-compose.yaml +++ b/src/windmill/docker-compose.yaml @@ -37,7 +37,7 @@ x-defaults: &defaults services: windmill-server: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}windmill-labs/windmill:${WINDMILL_VERSION:-main} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/windmill-labs/windmill:${WINDMILL_VERSION:-main} container_name: windmill-server ports: - "${WINDMILL_PORT_OVERRIDE:-8000}:8000" @@ -82,7 +82,7 @@ services: windmill-worker: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}windmill-labs/windmill:${WINDMILL_VERSION:-main} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/windmill-labs/windmill:${WINDMILL_VERSION:-main} container_name: windmill-worker environment: # Database configuration @@ -143,7 +143,7 @@ services: # Optional: LSP service for code intelligence windmill-lsp: <<: *defaults - image: ${GHCR_IO_REGISTRY:-ghcr.io/}windmill-labs/windmill-lsp:${WINDMILL_LSP_VERSION:-latest} + image: ${GHCR_IO_REGISTRY:-ghcr.io}/windmill-labs/windmill-lsp:${WINDMILL_LSP_VERSION:-latest} container_name: windmill-lsp profiles: - dev