chore: format
This commit is contained in:
@@ -14,13 +14,18 @@ x-defaults: &defaults
|
|||||||
services:
|
services:
|
||||||
service-name:
|
service-name:
|
||||||
<<: *defaults
|
<<: *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:
|
ports:
|
||||||
- "${PORT_OVERRIDE:-8080}:8080"
|
- "${SERVICE_NAME_PORT_OVERRIDE:-8080}:8080"
|
||||||
volumes:
|
volumes:
|
||||||
- service_data:/data
|
- service_name_data:/data
|
||||||
environment:
|
environment:
|
||||||
- TZ=${TZ:-UTC}
|
- TZ=${TZ:-UTC} #! Set timezone, default to UTC
|
||||||
- ENV_VAR=${ENV_VAR:-default_value}
|
- ENV_VAR=${ENV_VAR:-default_value}
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "command", "to", "check", "health"]
|
test: ["CMD", "command", "to", "check", "health"]
|
||||||
@@ -38,4 +43,4 @@ services:
|
|||||||
memory: ${SERVICE_NAME_MEMORY_RESERVATION:-128M}
|
memory: ${SERVICE_NAME_MEMORY_RESERVATION:-128M}
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
service_data:
|
service_name_data:
|
||||||
|
|||||||
19
.github/instructions/Guidelines.instructions.md
vendored
19
.github/instructions/Guidelines.instructions.md
vendored
@@ -1,7 +1,11 @@
|
|||||||
---
|
---
|
||||||
applyTo: '**'
|
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
|
1. Out-of-the-box
|
||||||
- Configurations should work out-of-the-box with no extra steps (at most, provide a `.env` file).
|
- 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`;
|
- Least privilege: `cap_drop: ["ALL"]`, add back only what’s needed via `cap_add`;
|
||||||
- Avoid `container_name` (hurts scaling and reusable network aliases);
|
- Avoid `container_name` (hurts scaling and reusable network aliases);
|
||||||
- If exposing Docker socket or other high-risk mounts, clearly document risks and alternatives.
|
- 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);
|
- Provide clear docs and examples (include admin/initialization notes, and security/license notes when relevant);
|
||||||
- Keep docs LLM-friendly;
|
- Keep docs LLM-friendly;
|
||||||
- List primary env vars and default ports in the README, and link to `README.md` / `README.zh.md`.
|
- 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`.
|
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.
|
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`。
|
**注意**:所有中文的文档都使用中文的标点符号,如 “,”、“()” 等,中文和英文之间要留有空格。对于 Docker Compose 文件和 `.env.example` 文件中的注释部分,请使用英语而不是中文。请为每个服务提供英文说明 README.md 和中文说明 `README.zh.md`。
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Compose Anything helps users quickly deploy various services by providing a set
|
|||||||
## Supported Services
|
## Supported Services
|
||||||
|
|
||||||
| Service | Version |
|
| Service | Version |
|
||||||
| ------------------------------------------------------------- | ---------------------------- |
|
| ------------------------------------------------------------- | ------------------- |
|
||||||
| [Apache APISIX](./src/apisix) | 3.13.0 |
|
| [Apache APISIX](./src/apisix) | 3.13.0 |
|
||||||
| [Apache Cassandra](./src/cassandra) | 5.0.2 |
|
| [Apache Cassandra](./src/cassandra) | 5.0.2 |
|
||||||
| [Apache Flink](./src/flink) | 1.20.0 |
|
| [Apache Flink](./src/flink) | 1.20.0 |
|
||||||
@@ -21,7 +21,7 @@ Compose Anything helps users quickly deploy various services by providing a set
|
|||||||
| [Clash](./src/clash) | 1.18.0 |
|
| [Clash](./src/clash) | 1.18.0 |
|
||||||
| [ClickHouse](./src/clickhouse) | 24.11.1 |
|
| [ClickHouse](./src/clickhouse) | 24.11.1 |
|
||||||
| [Conductor](./src/conductor) | latest |
|
| [Conductor](./src/conductor) | latest |
|
||||||
| [Dify](./src/dify) | 0.18.2 |
|
| [Dify](./apps/dify) | 0.18.2 |
|
||||||
| [DNSMasq](./src/dnsmasq) | 2.91 |
|
| [DNSMasq](./src/dnsmasq) | 2.91 |
|
||||||
| [Dockge](./src/dockge) | 1 |
|
| [Dockge](./src/dockge) | 1 |
|
||||||
| [Docker Registry](./src/docker-registry) | 3.0.0 |
|
| [Docker Registry](./src/docker-registry) | 3.0.0 |
|
||||||
@@ -60,7 +60,7 @@ Compose Anything helps users quickly deploy various services by providing a set
|
|||||||
| [Minecraft Bedrock Server](./src/minecraft-bedrock-server) | latest |
|
| [Minecraft Bedrock Server](./src/minecraft-bedrock-server) | latest |
|
||||||
| [MinerU SGLang](./src/mineru-sglang) | 2.2.2 |
|
| [MinerU SGLang](./src/mineru-sglang) | 2.2.2 |
|
||||||
| [MinerU vLLM](./builds/mineru-vllm) | 2.6.4 |
|
| [MinerU vLLM](./builds/mineru-vllm) | 2.6.4 |
|
||||||
| [MinIO](./src/minio) | RELEASE.2025-09-07T16-13-09Z |
|
| [MinIO](./src/minio) | 0.20251015 |
|
||||||
| [MLflow](./src/mlflow) | v2.20.2 |
|
| [MLflow](./src/mlflow) | v2.20.2 |
|
||||||
| [MongoDB ReplicaSet Single](./src/mongodb-replicaset-single) | 8.2.3 |
|
| [MongoDB ReplicaSet Single](./src/mongodb-replicaset-single) | 8.2.3 |
|
||||||
| [MongoDB ReplicaSet](./src/mongodb-replicaset) | 8.2.3 |
|
| [MongoDB ReplicaSet](./src/mongodb-replicaset) | 8.2.3 |
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Compose Anything 通过提供一组高质量的 Docker Compose 配置文件,
|
|||||||
## 已经支持的服务
|
## 已经支持的服务
|
||||||
|
|
||||||
| 服务 | 版本 |
|
| 服务 | 版本 |
|
||||||
| ------------------------------------------------------------- | ---------------------------- |
|
| ------------------------------------------------------------- | ------------------- |
|
||||||
| [Apache APISIX](./src/apisix) | 3.13.0 |
|
| [Apache APISIX](./src/apisix) | 3.13.0 |
|
||||||
| [Apache Cassandra](./src/cassandra) | 5.0.2 |
|
| [Apache Cassandra](./src/cassandra) | 5.0.2 |
|
||||||
| [Apache Flink](./src/flink) | 1.20.0 |
|
| [Apache Flink](./src/flink) | 1.20.0 |
|
||||||
@@ -21,7 +21,7 @@ Compose Anything 通过提供一组高质量的 Docker Compose 配置文件,
|
|||||||
| [Clash](./src/clash) | 1.18.0 |
|
| [Clash](./src/clash) | 1.18.0 |
|
||||||
| [ClickHouse](./src/clickhouse) | 24.11.1 |
|
| [ClickHouse](./src/clickhouse) | 24.11.1 |
|
||||||
| [Conductor](./src/conductor) | latest |
|
| [Conductor](./src/conductor) | latest |
|
||||||
| [Dify](./src/dify) | 0.18.2 |
|
| [Dify](./apps/dify) | 0.18.2 |
|
||||||
| [DNSMasq](./src/dnsmasq) | 2.91 |
|
| [DNSMasq](./src/dnsmasq) | 2.91 |
|
||||||
| [Dockge](./src/dockge) | 1 |
|
| [Dockge](./src/dockge) | 1 |
|
||||||
| [Docker Registry](./src/docker-registry) | 3.0.0 |
|
| [Docker Registry](./src/docker-registry) | 3.0.0 |
|
||||||
@@ -60,7 +60,7 @@ Compose Anything 通过提供一组高质量的 Docker Compose 配置文件,
|
|||||||
| [Minecraft Bedrock Server](./src/minecraft-bedrock-server) | latest |
|
| [Minecraft Bedrock Server](./src/minecraft-bedrock-server) | latest |
|
||||||
| [MinerU SGLang](./src/mineru-sglang) | 2.2.2 |
|
| [MinerU SGLang](./src/mineru-sglang) | 2.2.2 |
|
||||||
| [MinerU vLLM](./builds/mineru-vllm) | 2.6.4 |
|
| [MinerU vLLM](./builds/mineru-vllm) | 2.6.4 |
|
||||||
| [MinIO](./src/minio) | RELEASE.2025-09-07T16-13-09Z |
|
| [MinIO](./src/minio) | 0.20251015 |
|
||||||
| [MLflow](./src/mlflow) | v2.20.2 |
|
| [MLflow](./src/mlflow) | v2.20.2 |
|
||||||
| [MongoDB ReplicaSet Single](./src/mongodb-replicaset-single) | 8.2.3 |
|
| [MongoDB ReplicaSet Single](./src/mongodb-replicaset-single) | 8.2.3 |
|
||||||
| [MongoDB ReplicaSet](./src/mongodb-replicaset) | 8.2.3 |
|
| [MongoDB ReplicaSet](./src/mongodb-replicaset) | 8.2.3 |
|
||||||
|
|||||||
@@ -40,7 +40,15 @@ services:
|
|||||||
cpus: ${DIFY_API_CPU_RESERVATION:-0.5}
|
cpus: ${DIFY_API_CPU_RESERVATION:-0.5}
|
||||||
memory: ${DIFY_API_MEMORY_RESERVATION:-1G}
|
memory: ${DIFY_API_MEMORY_RESERVATION:-1G}
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
@@ -172,7 +180,15 @@ services:
|
|||||||
cpus: ${DIFY_WEAVIATE_CPU_RESERVATION:-0.25}
|
cpus: ${DIFY_WEAVIATE_CPU_RESERVATION:-0.25}
|
||||||
memory: ${DIFY_WEAVIATE_MEMORY_RESERVATION:-512M}
|
memory: ${DIFY_WEAVIATE_MEMORY_RESERVATION:-512M}
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
@@ -88,7 +88,15 @@ services:
|
|||||||
cpus: ${LANGFUSE_WORKER_CPU_RESERVATION:-0.5}
|
cpus: ${LANGFUSE_WORKER_CPU_RESERVATION:-0.5}
|
||||||
memory: ${LANGFUSE_WORKER_MEMORY_RESERVATION:-512M}
|
memory: ${LANGFUSE_WORKER_MEMORY_RESERVATION:-512M}
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
@@ -122,7 +130,15 @@ services:
|
|||||||
cpus: ${LANGFUSE_WEB_CPU_RESERVATION:-0.5}
|
cpus: ${LANGFUSE_WEB_CPU_RESERVATION:-0.5}
|
||||||
memory: ${LANGFUSE_WEB_MEMORY_RESERVATION:-512M}
|
memory: ${LANGFUSE_WEB_MEMORY_RESERVATION:-512M}
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
@@ -131,6 +147,8 @@ services:
|
|||||||
clickhouse:
|
clickhouse:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${CLICKHOUSE_VERSION:-latest}
|
image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${CLICKHOUSE_VERSION:-latest}
|
||||||
|
profiles:
|
||||||
|
- ${COMPOSE_PROFILES:-}
|
||||||
user: "101:101"
|
user: "101:101"
|
||||||
environment:
|
environment:
|
||||||
CLICKHOUSE_DB: default
|
CLICKHOUSE_DB: default
|
||||||
@@ -160,7 +178,9 @@ services:
|
|||||||
|
|
||||||
minio:
|
minio:
|
||||||
<<: *defaults
|
<<: *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
|
entrypoint: sh
|
||||||
# create the 'langfuse' bucket before starting the service
|
# create the 'langfuse' bucket before starting the service
|
||||||
command: -c 'mkdir -p /data/langfuse && minio server --address ":9000" --console-address ":9001" /data'
|
command: -c 'mkdir -p /data/langfuse && minio server --address ":9000" --console-address ":9001" /data'
|
||||||
@@ -188,6 +208,8 @@ services:
|
|||||||
redis:
|
redis:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
image: ${GLOBAL_REGISTRY:-}redis:${REDIS_VERSION:-7}
|
image: ${GLOBAL_REGISTRY:-}redis:${REDIS_VERSION:-7}
|
||||||
|
profiles:
|
||||||
|
- ${COMPOSE_PROFILES:-}
|
||||||
command: >
|
command: >
|
||||||
--requirepass ${REDIS_AUTH:-myredissecret}
|
--requirepass ${REDIS_AUTH:-myredissecret}
|
||||||
--maxmemory-policy noeviction
|
--maxmemory-policy noeviction
|
||||||
@@ -208,6 +230,8 @@ services:
|
|||||||
postgres:
|
postgres:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
image: ${GLOBAL_REGISTRY:-}postgres:${POSTGRES_VERSION:-17}
|
image: ${GLOBAL_REGISTRY:-}postgres:${POSTGRES_VERSION:-17}
|
||||||
|
profiles:
|
||||||
|
- ${COMPOSE_PROFILES:-}
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: ${POSTGRES_USER:-postgres}
|
POSTGRES_USER: ${POSTGRES_USER:-postgres}
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ services:
|
|||||||
dind:
|
dind:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
image: ${GLOBAL_REGISTRY:-}alexsuntop/debian-dind:${DEBIAN_DIND_VERSION:-0.1.0}
|
image: ${GLOBAL_REGISTRY:-}alexsuntop/debian-dind:${DEBIAN_DIND_VERSION:-0.1.0}
|
||||||
|
profiles:
|
||||||
|
- ${COMPOSE_PROFILES:-}
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
@@ -41,13 +43,13 @@ services:
|
|||||||
reservations:
|
reservations:
|
||||||
cpus: ${DIND_CPU_RESERVATION:-1.0}
|
cpus: ${DIND_CPU_RESERVATION:-1.0}
|
||||||
memory: ${DIND_MEMORY_RESERVATION:-2G}
|
memory: ${DIND_MEMORY_RESERVATION:-2G}
|
||||||
profiles:
|
|
||||||
- ${COMPOSE_PROFILES:-}
|
|
||||||
|
|
||||||
# GPU-enabled DinD (optional)
|
# GPU-enabled DinD (optional)
|
||||||
dind-gpu:
|
dind-gpu:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
image: ${GLOBAL_REGISTRY:-}alexsuntop/debian-dind:${DEBIAN_DIND_GPU_VERSION:-0.1.0-gpu}
|
image: ${GLOBAL_REGISTRY:-}alexsuntop/debian-dind:${DEBIAN_DIND_GPU_VERSION:-0.1.0-gpu}
|
||||||
|
profiles:
|
||||||
|
- gpu
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
@@ -82,8 +84,6 @@ services:
|
|||||||
- driver: nvidia
|
- driver: nvidia
|
||||||
count: 1
|
count: 1
|
||||||
capabilities: [gpu]
|
capabilities: [gpu]
|
||||||
profiles:
|
|
||||||
- gpu
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
dind_data:
|
dind_data:
|
||||||
|
|||||||
@@ -25,7 +25,15 @@ services:
|
|||||||
cpus: ${BIFROST_CPU_RESERVATION:-0.10}
|
cpus: ${BIFROST_CPU_RESERVATION:-0.10}
|
||||||
memory: ${BIFROST_MEMORY_RESERVATION:-128M}
|
memory: ${BIFROST_MEMORY_RESERVATION:-128M}
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
@@ -39,14 +47,22 @@ services:
|
|||||||
- ./config/prometheus.yml:/etc/prometheus/prometheus.yml
|
- ./config/prometheus.yml:/etc/prometheus/prometheus.yml
|
||||||
- prometheus_data:/prometheus
|
- prometheus_data:/prometheus
|
||||||
command:
|
command:
|
||||||
- '--config.file=/etc/prometheus/prometheus.yml'
|
- "--config.file=/etc/prometheus/prometheus.yml"
|
||||||
- '--storage.tsdb.path=/prometheus'
|
- "--storage.tsdb.path=/prometheus"
|
||||||
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
|
- "--web.console.libraries=/usr/share/prometheus/console_libraries"
|
||||||
- '--web.console.templates=/usr/share/prometheus/consoles'
|
- "--web.console.templates=/usr/share/prometheus/consoles"
|
||||||
ports:
|
ports:
|
||||||
- "${PROMETHEUS_PORT:-29090}:9090"
|
- "${PROMETHEUS_PORT:-29090}:9090"
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
@@ -74,7 +90,15 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "${GRAFANA_PORT:-23000}:3000"
|
- "${GRAFANA_PORT:-23000}:3000"
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
|
|||||||
@@ -25,7 +25,15 @@ services:
|
|||||||
cpus: ${BOLT_DIY_CPU_RESERVATION:-0.5}
|
cpus: ${BOLT_DIY_CPU_RESERVATION:-0.5}
|
||||||
memory: ${BOLT_DIY_MEMORY_RESERVATION:-512M}
|
memory: ${BOLT_DIY_MEMORY_RESERVATION:-512M}
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
|
|||||||
@@ -74,7 +74,15 @@ services:
|
|||||||
redis:
|
redis:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/health"]
|
test:
|
||||||
|
[
|
||||||
|
"CMD",
|
||||||
|
"wget",
|
||||||
|
"--quiet",
|
||||||
|
"--tries=1",
|
||||||
|
"--spider",
|
||||||
|
"http://localhost/health",
|
||||||
|
]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ x-defaults: &defaults
|
|||||||
services:
|
services:
|
||||||
bytebot-desktop:
|
bytebot-desktop:
|
||||||
<<: *defaults
|
<<: *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:
|
ports:
|
||||||
- "${BYTEBOT_DESKTOP_PORT_OVERRIDE:-9990}:9990"
|
- "${BYTEBOT_DESKTOP_PORT_OVERRIDE:-9990}:9990"
|
||||||
environment:
|
environment:
|
||||||
@@ -32,7 +32,7 @@ services:
|
|||||||
|
|
||||||
bytebot-agent:
|
bytebot-agent:
|
||||||
<<: *defaults
|
<<: *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:
|
depends_on:
|
||||||
bytebot-desktop:
|
bytebot-desktop:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
@@ -64,7 +64,7 @@ services:
|
|||||||
|
|
||||||
bytebot-ui:
|
bytebot-ui:
|
||||||
<<: *defaults
|
<<: *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:
|
depends_on:
|
||||||
bytebot-agent:
|
bytebot-agent:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|||||||
@@ -41,7 +41,11 @@ services:
|
|||||||
cpus: ${CLICKHOUSE_CPU_RESERVATION:-1.0}
|
cpus: ${CLICKHOUSE_CPU_RESERVATION:-1.0}
|
||||||
memory: ${CLICKHOUSE_MEMORY_RESERVATION:-1G}
|
memory: ${CLICKHOUSE_MEMORY_RESERVATION:-1G}
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
|
|||||||
@@ -66,7 +66,15 @@ services:
|
|||||||
elasticsearch:
|
elasticsearch:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 5
|
retries: 5
|
||||||
@@ -93,7 +101,11 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- postgres_data:/var/lib/postgresql/data
|
- postgres_data:/var/lib/postgresql/data
|
||||||
healthcheck:
|
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
|
interval: 10s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 5
|
||||||
@@ -118,7 +130,8 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- elasticsearch_data:/usr/share/elasticsearch/data
|
- elasticsearch_data:/usr/share/elasticsearch/data
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ x-defaults: &defaults
|
|||||||
services:
|
services:
|
||||||
easy-dataset:
|
easy-dataset:
|
||||||
<<: *defaults
|
<<: *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:
|
ports:
|
||||||
- "${EASY_DATASET_PORT_OVERRIDE:-1717}:1717"
|
- "${EASY_DATASET_PORT_OVERRIDE:-1717}:1717"
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ x-common-env: &common-env
|
|||||||
services:
|
services:
|
||||||
playwright-service:
|
playwright-service:
|
||||||
<<: *defaults
|
<<: *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:
|
environment:
|
||||||
PORT: 3000
|
PORT: 3000
|
||||||
PROXY_SERVER: ${PROXY_SERVER:-}
|
PROXY_SERVER: ${PROXY_SERVER:-}
|
||||||
@@ -57,7 +57,7 @@ services:
|
|||||||
|
|
||||||
api:
|
api:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
image: ${GHCR_IO_REGISTRY:-ghcr.io/}firecrawl/firecrawl:${FIRECRAWL_VERSION:-latest}
|
image: ${GHCR_IO_REGISTRY:-ghcr.io}/firecrawl/firecrawl:${FIRECRAWL_VERSION:-latest}
|
||||||
environment:
|
environment:
|
||||||
<<: *common-env
|
<<: *common-env
|
||||||
HOST: 0.0.0.0
|
HOST: 0.0.0.0
|
||||||
@@ -121,7 +121,7 @@ services:
|
|||||||
|
|
||||||
nuq-postgres:
|
nuq-postgres:
|
||||||
<<: *defaults
|
<<: *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:
|
environment:
|
||||||
POSTGRES_USER: ${POSTGRES_USER:-postgres}
|
POSTGRES_USER: ${POSTGRES_USER:-postgres}
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
|
||||||
|
|||||||
@@ -37,7 +37,15 @@ services:
|
|||||||
cpus: ${GITEA_CPU_RESERVATION:-0.5}
|
cpus: ${GITEA_CPU_RESERVATION:-0.5}
|
||||||
memory: ${GITEA_MEMORY_RESERVATION:-512M}
|
memory: ${GITEA_MEMORY_RESERVATION:-512M}
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
@@ -46,6 +54,8 @@ services:
|
|||||||
db:
|
db:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
image: ${GLOBAL_REGISTRY:-}postgres:${POSTGRES_VERSION:-17.6}
|
image: ${GLOBAL_REGISTRY:-}postgres:${POSTGRES_VERSION:-17.6}
|
||||||
|
profiles:
|
||||||
|
- ${COMPOSE_PROFILES:-}
|
||||||
environment:
|
environment:
|
||||||
- TZ=${TZ:-UTC}
|
- TZ=${TZ:-UTC}
|
||||||
- POSTGRES_USER=${POSTGRES_USER:-gitea}
|
- POSTGRES_USER=${POSTGRES_USER:-gitea}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ services:
|
|||||||
context: .
|
context: .
|
||||||
args:
|
args:
|
||||||
target: runtime
|
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
|
# Uncomment these lines to start proxy with a config.yaml file
|
||||||
# volumes:
|
# volumes:
|
||||||
# - ./config.yaml:/app/config.yaml:ro
|
# - ./config.yaml:/app/config.yaml:ro
|
||||||
|
|||||||
@@ -65,12 +65,19 @@ services:
|
|||||||
cpus: ${ATTU_CPU_RESERVATION:-0.1}
|
cpus: ${ATTU_CPU_RESERVATION:-0.1}
|
||||||
memory: ${ATTU_MEMORY_RESERVATION:-128M}
|
memory: ${ATTU_MEMORY_RESERVATION:-128M}
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
start_period: 10s
|
start_period: 10s
|
||||||
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
milvus_data:
|
milvus_data:
|
||||||
|
|||||||
@@ -120,7 +120,15 @@ services:
|
|||||||
cpus: ${ATTU_CPU_RESERVATION:-0.1}
|
cpus: ${ATTU_CPU_RESERVATION:-0.1}
|
||||||
memory: ${ATTU_MEMORY_RESERVATION:-128M}
|
memory: ${ATTU_MEMORY_RESERVATION:-128M}
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
|
|||||||
@@ -11,3 +11,9 @@ MINIO_PORT_OVERRIDE_WEBUI=9001
|
|||||||
|
|
||||||
# Timezone
|
# Timezone
|
||||||
TZ=UTC
|
TZ=UTC
|
||||||
|
|
||||||
|
# Resource Limits
|
||||||
|
MINIO_CPU_LIMIT=0.5
|
||||||
|
MINIO_MEMORY_LIMIT=1G
|
||||||
|
MINIO_CPU_RESERVATION=0.25
|
||||||
|
MINIO_MEMORY_RESERVATION=512M
|
||||||
|
|||||||
1
src/minio/.gitignore
vendored
1
src/minio/.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
/config
|
|
||||||
@@ -9,7 +9,7 @@ x-defaults: &defaults
|
|||||||
services:
|
services:
|
||||||
minio:
|
minio:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
image: cgr.dev/chainguard/minio:${MINIO_VERSION:-0.20251015}
|
image: ${CGR_DEV_REGISTRY:cgr.dev-}/chainguard/minio:${MINIO_VERSION:-0.20251015}
|
||||||
ports:
|
ports:
|
||||||
- "${MINIO_PORT_OVERRIDE_API:-9000}:9000"
|
- "${MINIO_PORT_OVERRIDE_API:-9000}:9000"
|
||||||
- "${MINIO_PORT_OVERRIDE_WEBUI:-9001}:9001"
|
- "${MINIO_PORT_OVERRIDE_WEBUI:-9001}:9001"
|
||||||
@@ -29,10 +29,10 @@ services:
|
|||||||
deploy:
|
deploy:
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpus: ${MINIO_CPU_LIMIT:-1.0}
|
cpus: ${MINIO_CPU_LIMIT:-0.5}
|
||||||
memory: ${MINIO_MEMORY_LIMIT:-1G}
|
memory: ${MINIO_MEMORY_LIMIT:-1G}
|
||||||
reservations:
|
reservations:
|
||||||
cpus: ${MINIO_CPU_RESERVATION:-0.5}
|
cpus: ${MINIO_CPU_RESERVATION:-0.25}
|
||||||
memory: ${MINIO_MEMORY_RESERVATION:-512M}
|
memory: ${MINIO_MEMORY_RESERVATION:-512M}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ services:
|
|||||||
|
|
||||||
mlflow:
|
mlflow:
|
||||||
<<: *defaults
|
<<: *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:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|||||||
@@ -34,7 +34,15 @@ services:
|
|||||||
cpus: ${ODOO_CPU_RESERVATION:-0.5}
|
cpus: ${ODOO_CPU_RESERVATION:-0.5}
|
||||||
memory: ${ODOO_MEMORY_RESERVATION:-1G}
|
memory: ${ODOO_MEMORY_RESERVATION:-1G}
|
||||||
healthcheck:
|
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
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ x-defaults: &defaults
|
|||||||
services:
|
services:
|
||||||
open_webui:
|
open_webui:
|
||||||
<<: *defaults
|
<<: *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:
|
ports:
|
||||||
- "${OPEN_WEBUI_PORT_OVERRIDE:-8080}:8080"
|
- "${OPEN_WEBUI_PORT_OVERRIDE:-8080}:8080"
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -6,11 +6,8 @@ TZ=UTC
|
|||||||
|
|
||||||
# Pingap Version
|
# Pingap Version
|
||||||
# Use version-full for production (includes OpenTelemetry, Sentry, image compression plugins)
|
# Use version-full for production (includes OpenTelemetry, Sentry, image compression plugins)
|
||||||
# Available tags: latest, full, 0.12.1, 0.12.1-full
|
# Available tags: latest, full, 0.12.7, 0.12.7-full
|
||||||
PINGAP_VERSION=0.12.1-full
|
PINGAP_VERSION=0.12.7-full
|
||||||
|
|
||||||
# Container Name (optional, leave empty for auto-generated name)
|
|
||||||
PINGAP_CONTAINER_NAME=
|
|
||||||
|
|
||||||
# Port Overrides
|
# Port Overrides
|
||||||
# HTTP port - exposed on host
|
# HTTP port - exposed on host
|
||||||
@@ -28,7 +25,7 @@ PINGAP_ADMIN_ADDR=0.0.0.0:80/pingap
|
|||||||
# Admin username
|
# Admin username
|
||||||
PINGAP_ADMIN_USER=admin
|
PINGAP_ADMIN_USER=admin
|
||||||
# Admin password (REQUIRED - set a strong password!)
|
# Admin password (REQUIRED - set a strong password!)
|
||||||
PINGAP_ADMIN_PASSWORD=changeme
|
PINGAP_ADMIN_PASSWORD=password
|
||||||
|
|
||||||
# Resource Limits
|
# Resource Limits
|
||||||
PINGAP_CPU_LIMIT=1.0
|
PINGAP_CPU_LIMIT=1.0
|
||||||
|
|||||||
@@ -49,13 +49,13 @@ A high-performance reverse proxy built on Cloudflare Pingora, designed as a more
|
|||||||
|
|
||||||
| Variable | Description | Default |
|
| 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_HTTP_PORT_OVERRIDE` | HTTP port on host | `80` |
|
||||||
| `PINGAP_HTTPS_PORT_OVERRIDE` | HTTPS port on host | `443` |
|
| `PINGAP_HTTPS_PORT_OVERRIDE` | HTTPS port on host | `443` |
|
||||||
| `PINGAP_DATA_DIR` | Data directory for persistent storage | `./pingap` |
|
| `PINGAP_DATA_DIR` | Data directory for persistent storage | `./pingap` |
|
||||||
| `PINGAP_ADMIN_ADDR` | Admin interface address | `0.0.0.0:80/pingap` |
|
| `PINGAP_ADMIN_ADDR` | Admin interface address | `0.0.0.0:80/pingap` |
|
||||||
| `PINGAP_ADMIN_USER` | Admin username | `admin` |
|
| `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_CPU_LIMIT` | CPU limit | `1.0` |
|
||||||
| `PINGAP_MEMORY_LIMIT` | Memory limit | `512M` |
|
| `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:latest` - Latest development version (not recommended for production)
|
||||||
- `vicanso/pingap:full` - Latest development version with all features
|
- `vicanso/pingap:full` - Latest development version with all features
|
||||||
- `vicanso/pingap:0.12.1` - Stable version without extra dependencies
|
- `vicanso/pingap:0.12.7` - 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-full` - **Recommended**: Stable version with OpenTelemetry, Sentry, and image compression
|
||||||
|
|
||||||
### Persistent Storage
|
### Persistent Storage
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ docker compose down
|
|||||||
|
|
||||||
### Production Recommendations
|
### 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
|
- Configure appropriate resource limits based on your traffic
|
||||||
- Set up proper monitoring and logging
|
- Set up proper monitoring and logging
|
||||||
- Enable HTTPS with valid certificates
|
- Enable HTTPS with valid certificates
|
||||||
|
|||||||
@@ -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_HTTP_PORT_OVERRIDE` | 主机 HTTP 端口 | `80` |
|
||||||
| `PINGAP_HTTPS_PORT_OVERRIDE` | 主机 HTTPS 端口 | `443` |
|
| `PINGAP_HTTPS_PORT_OVERRIDE` | 主机 HTTPS 端口 | `443` |
|
||||||
| `PINGAP_DATA_DIR` | 持久化数据目录 | `./pingap` |
|
| `PINGAP_DATA_DIR` | 持久化数据目录 | `./pingap` |
|
||||||
| `PINGAP_ADMIN_ADDR` | 管理界面地址 | `0.0.0.0:80/pingap` |
|
| `PINGAP_ADMIN_ADDR` | 管理界面地址 | `0.0.0.0:80/pingap` |
|
||||||
| `PINGAP_ADMIN_USER` | 管理员用户名 | `admin` |
|
| `PINGAP_ADMIN_USER` | 管理员用户名 | `admin` |
|
||||||
| `PINGAP_ADMIN_PASSWORD` | 管理员密码(必填) | - |
|
| `PINGAP_ADMIN_PASSWORD` | 管理员密码 | `password` |
|
||||||
| `PINGAP_CPU_LIMIT` | CPU 限制 | `1.0` |
|
| `PINGAP_CPU_LIMIT` | CPU 限制 | `1.0` |
|
||||||
| `PINGAP_MEMORY_LIMIT` | 内存限制 | `512M` |
|
| `PINGAP_MEMORY_LIMIT` | 内存限制 | `512M` |
|
||||||
|
|
||||||
@@ -63,8 +63,8 @@
|
|||||||
|
|
||||||
- `vicanso/pingap:latest` - 最新开发版(不推荐用于生产环境)
|
- `vicanso/pingap:latest` - 最新开发版(不推荐用于生产环境)
|
||||||
- `vicanso/pingap:full` - 包含所有功能的最新开发版
|
- `vicanso/pingap:full` - 包含所有功能的最新开发版
|
||||||
- `vicanso/pingap:0.12.1` - 不含额外依赖的稳定版
|
- `vicanso/pingap:0.12.7` - 不含额外依赖的稳定版
|
||||||
- `vicanso/pingap:0.12.1-full` - **推荐**:包含 OpenTelemetry、Sentry 和图片压缩的稳定版
|
- `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 并使用有效证书
|
- 启用 HTTPS 并使用有效证书
|
||||||
|
|||||||
@@ -12,19 +12,18 @@ x-defaults: &defaults
|
|||||||
services:
|
services:
|
||||||
pingap:
|
pingap:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
image: ${GLOBAL_REGISTRY:-}vicanso/pingap:${PINGAP_VERSION:-0.12.1-full}
|
image: ${GLOBAL_REGISTRY:-}vicanso/pingap:${PINGAP_VERSION:-0.12.7-full}
|
||||||
container_name: ${PINGAP_CONTAINER_NAME:-}
|
|
||||||
ports:
|
ports:
|
||||||
- "${PINGAP_HTTP_PORT_OVERRIDE:-80}:80"
|
- "${PINGAP_HTTP_PORT_OVERRIDE:-80}:80"
|
||||||
- "${PINGAP_HTTPS_PORT_OVERRIDE:-443}:443"
|
- "${PINGAP_HTTPS_PORT_OVERRIDE:-443}:443"
|
||||||
volumes:
|
volumes:
|
||||||
- ${PINGAP_DATA_DIR:-./pingap}:/opt/pingap
|
- pingap_data:/opt/pingap
|
||||||
environment:
|
environment:
|
||||||
- TZ=${TZ:-UTC}
|
- TZ=${TZ:-UTC}
|
||||||
- PINGAP_CONF=/opt/pingap/conf
|
- PINGAP_CONF=/opt/pingap/conf
|
||||||
- PINGAP_ADMIN_ADDR=${PINGAP_ADMIN_ADDR:-0.0.0.0:80/pingap}
|
- PINGAP_ADMIN_ADDR=${PINGAP_ADMIN_ADDR:-0.0.0.0:80/pingap}
|
||||||
- PINGAP_ADMIN_USER=${PINGAP_ADMIN_USER:-admin}
|
- 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:
|
command:
|
||||||
- pingap
|
- pingap
|
||||||
- --autoreload
|
- --autoreload
|
||||||
@@ -42,3 +41,6 @@ services:
|
|||||||
reservations:
|
reservations:
|
||||||
cpus: ${PINGAP_CPU_RESERVATION:-0.5}
|
cpus: ${PINGAP_CPU_RESERVATION:-0.5}
|
||||||
memory: ${PINGAP_MEMORY_RESERVATION:-256M}
|
memory: ${PINGAP_MEMORY_RESERVATION:-256M}
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
pingap_data:
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ x-defaults: &defaults
|
|||||||
services:
|
services:
|
||||||
pocketbase:
|
pocketbase:
|
||||||
<<: *defaults
|
<<: *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:
|
environment:
|
||||||
TZ: ${TZ:-UTC}
|
TZ: ${TZ:-UTC}
|
||||||
# Optional ENCRYPTION (Ensure this is a 32-character long encryption key)
|
# Optional ENCRYPTION (Ensure this is a 32-character long encryption key)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ x-defaults: &defaults
|
|||||||
services:
|
services:
|
||||||
stable-diffusion-webui:
|
stable-diffusion-webui:
|
||||||
<<: *defaults
|
<<: *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:
|
ports:
|
||||||
- "${SD_WEBUI_PORT_OVERRIDE:-7860}:7860"
|
- "${SD_WEBUI_PORT_OVERRIDE:-7860}:7860"
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ services:
|
|||||||
|
|
||||||
webapp:
|
webapp:
|
||||||
<<: *defaults
|
<<: *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:
|
ports:
|
||||||
- "${TRIGGER_PORT:-8030}:3030"
|
- "${TRIGGER_PORT:-8030}:3030"
|
||||||
environment:
|
environment:
|
||||||
@@ -312,7 +312,7 @@ services:
|
|||||||
|
|
||||||
supervisor:
|
supervisor:
|
||||||
<<: *defaults
|
<<: *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:
|
environment:
|
||||||
- TZ=${TZ:-UTC}
|
- TZ=${TZ:-UTC}
|
||||||
# Required settings
|
# Required settings
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ x-defaults: &defaults
|
|||||||
services:
|
services:
|
||||||
windmill-server:
|
windmill-server:
|
||||||
<<: *defaults
|
<<: *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
|
container_name: windmill-server
|
||||||
ports:
|
ports:
|
||||||
- "${WINDMILL_PORT_OVERRIDE:-8000}:8000"
|
- "${WINDMILL_PORT_OVERRIDE:-8000}:8000"
|
||||||
@@ -82,7 +82,7 @@ services:
|
|||||||
|
|
||||||
windmill-worker:
|
windmill-worker:
|
||||||
<<: *defaults
|
<<: *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
|
container_name: windmill-worker
|
||||||
environment:
|
environment:
|
||||||
# Database configuration
|
# Database configuration
|
||||||
@@ -143,7 +143,7 @@ services:
|
|||||||
# Optional: LSP service for code intelligence
|
# Optional: LSP service for code intelligence
|
||||||
windmill-lsp:
|
windmill-lsp:
|
||||||
<<: *defaults
|
<<: *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
|
container_name: windmill-lsp
|
||||||
profiles:
|
profiles:
|
||||||
- dev
|
- dev
|
||||||
|
|||||||
Reference in New Issue
Block a user