style: lint code

This commit is contained in:
Sun-ZhenXing
2026-02-23 17:41:05 +08:00
parent ced072de66
commit 7e14b01b78
240 changed files with 4301 additions and 1539 deletions

View File

@@ -8,27 +8,27 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
#! Example service structure: # ! Example service structure:
services: services:
service-name: service-name:
<<: *defaults <<: *defaults
#! Use ${GLOBAL_REGISTRY} for a global registry prefix if defined # ! 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. # ! 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} # ! 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 # ! 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} image: ${GLOBAL_REGISTRY:-}service-image:${SERVICE_NAME_VERSION:-3.2.1}
#! Do not add container_name to allow scaling and avoid name conflicts # ! Do not add container_name to allow scaling and avoid name conflicts
ports: ports:
- "${SERVICE_NAME_PORT_OVERRIDE:-8080}:8080" - '${SERVICE_NAME_PORT_OVERRIDE:-8080}:8080'
volumes: volumes:
- service_name_data:/data - service_name_data:/data
environment: environment:
- TZ=${TZ:-UTC} #! Set timezone, default to 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]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

3
.gitignore vendored
View File

@@ -1,3 +1,6 @@
# Node.js
node_modules/
# Env # Env
.env .env
.env.* .env.*

View File

@@ -1,7 +1,7 @@
{ {
"recommendations": [ "recommendations": [
"yzhang.markdown-all-in-one", "yzhang.markdown-all-in-one",
"DavidAnson.vscode-markdownlint", "dbaeumer.vscode-eslint",
"redhat.vscode-yaml" "ms-azuretools.vscode-containers"
] ]
} }

91
.vscode/settings.json vendored
View File

@@ -1,6 +1,9 @@
{ {
// Disable Prettier, use ESLint for formatting instead
"prettier.enable": false, "prettier.enable": false,
// Disable default formatOnSave, use ESLint fixOnSave
"editor.formatOnSave": false, "editor.formatOnSave": false,
// Markdown settings
"[markdown]": { "[markdown]": {
"editor.wordWrap": "on", "editor.wordWrap": "on",
"editor.formatOnSave": true, "editor.formatOnSave": true,
@@ -13,15 +16,97 @@
"strings": "off" "strings": "off"
} }
}, },
// YAML settings: auto-fix ESLint issues on save
"[yaml]": { "[yaml]": {
"editor.formatOnSave": true "editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
}, },
"[dockerfile]": { "[dockerfile]": {
"editor.formatOnSave": true "editor.formatOnSave": true
}, },
// Docker Compose settings
"[dockercompose]": { "[dockercompose]": {
"editor.formatOnSave": true "editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
}, },
// File EOL configuration
"files.eol": "\n", "files.eol": "\n",
"cSpell.enabled": false // Disable spell checking
"cSpell.enabled": false,
// ESLint settings: auto-fix on save
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.organizeImports": "never"
},
// Silent stylistic rules in IDE but still auto-fix them
"eslint.rules.customizations": [
{
"rule": "style/*",
"severity": "off",
"fixable": true
},
{
"rule": "format/*",
"severity": "off",
"fixable": true
},
{
"rule": "*-indent",
"severity": "off",
"fixable": true
},
{
"rule": "*-spacing",
"severity": "off",
"fixable": true
},
{
"rule": "*-spaces",
"severity": "off",
"fixable": true
},
{
"rule": "*-order",
"severity": "off",
"fixable": true
},
{
"rule": "*-dangle",
"severity": "off",
"fixable": true
},
{
"rule": "*-newline",
"severity": "off",
"fixable": true
},
{
"rule": "*quotes",
"severity": "off",
"fixable": true
},
{
"rule": "*semi",
"severity": "off",
"fixable": true
}
],
// Enable ESLint for supported languages
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"vue",
"html",
"markdown",
"json",
"jsonc",
"yaml",
"dockercompose"
]
} }

View File

@@ -105,7 +105,7 @@ These services require building custom Docker images from source.
| [Odoo](./src/odoo) | 19.0 | | [Odoo](./src/odoo) | 19.0 |
| [Ollama](./src/ollama) | 0.14.3 | | [Ollama](./src/ollama) | 0.14.3 |
| [Open WebUI](./src/open-webui) | main | | [Open WebUI](./src/open-webui) | main |
| [Phoenix (Arize)](./src/phoenix) | 12.31.2-nonroot | | [Phoenix (Arize)](./src/phoenix) | 12.35.0-nonroot |
| [Pingora Proxy Manager](./src/pingora-proxy-manager) | v1.0.3 | | [Pingora Proxy Manager](./src/pingora-proxy-manager) | v1.0.3 |
| [Open WebUI Rust](./src/open-webui-rust) | latest | | [Open WebUI Rust](./src/open-webui-rust) | latest |
| [OpenCode](./src/opencode) | 1.1.27 | | [OpenCode](./src/opencode) | 1.1.27 |

View File

@@ -105,7 +105,7 @@ Compose Anything 通过提供一组高质量的 Docker Compose 配置文件,
| [Odoo](./src/odoo) | 19.0 | | [Odoo](./src/odoo) | 19.0 |
| [Ollama](./src/ollama) | 0.14.3 | | [Ollama](./src/ollama) | 0.14.3 |
| [Open WebUI](./src/open-webui) | main | | [Open WebUI](./src/open-webui) | main |
| [Phoenix (Arize)](./src/phoenix) | 12.31.2-nonroot | | [Phoenix (Arize)](./src/phoenix) | 12.35.0-nonroot |
| [Pingora Proxy Manager](./src/pingora-proxy-manager) | v1.0.3 | | [Pingora Proxy Manager](./src/pingora-proxy-manager) | v1.0.3 |
| [Open WebUI Rust](./src/open-webui-rust) | latest | | [Open WebUI Rust](./src/open-webui-rust) | latest |
| [OpenCode](./src/opencode) | 1.1.27 | | [OpenCode](./src/opencode) | 1.1.27 |

View File

@@ -4,14 +4,14 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
bolt-diy: bolt-diy:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}stackblitz/bolt:${BOLT_DIY_VERSION:-latest} image: ${GLOBAL_REGISTRY:-}stackblitz/bolt:${BOLT_DIY_VERSION:-latest}
ports: ports:
- "${BOLT_DIY_PORT_OVERRIDE:-5173}:5173" - '${BOLT_DIY_PORT_OVERRIDE:-5173}:5173'
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
- VITE_LOG_LEVEL=${VITE_LOG_LEVEL:-info} - VITE_LOG_LEVEL=${VITE_LOG_LEVEL:-info}
@@ -26,14 +26,13 @@ services:
memory: ${BOLT_DIY_MEMORY_RESERVATION:-512M} memory: ${BOLT_DIY_MEMORY_RESERVATION:-512M}
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost:5173/'
"http://localhost:5173/",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -8,7 +8,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
redis: redis:
@@ -18,7 +18,7 @@ services:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
- REDIS_PASSWORD=${REDIS_PASSWORD:-} - REDIS_PASSWORD=${REDIS_PASSWORD:-}
ports: ports:
- "${REDIS_PORT_OVERRIDE:-6379}:6379" - '${REDIS_PORT_OVERRIDE:-6379}:6379'
volumes: volumes:
- redis_data:/data - redis_data:/data
command: > command: >
@@ -30,7 +30,7 @@ services:
fi fi
' '
healthcheck: healthcheck:
test: ["CMD-SHELL", "redis-cli -a $$REDIS_PASSWORD ping 2>/dev/null || redis-cli ping"] test: [CMD-SHELL, 'redis-cli -a $$REDIS_PASSWORD ping 2>/dev/null || redis-cli ping']
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
@@ -54,11 +54,11 @@ services:
- POSTGRES_DB=${DB_DATABASE:-buildingai} - POSTGRES_DB=${DB_DATABASE:-buildingai}
- PGDATA=/var/lib/postgresql/data/pgdata - PGDATA=/var/lib/postgresql/data/pgdata
ports: ports:
- "${POSTGRES_PORT_OVERRIDE:-5432}:5432" - '${POSTGRES_PORT_OVERRIDE:-5432}:5432'
volumes: volumes:
- postgres_data:/var/lib/postgresql/data - postgres_data:/var/lib/postgresql/data
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USERNAME:-postgres}"] test: [CMD-SHELL, 'pg_isready -U ${DB_USERNAME:-postgres}']
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
@@ -93,11 +93,11 @@ services:
- REDIS_PORT=6379 - REDIS_PORT=6379
- REDIS_PASSWORD=${REDIS_PASSWORD:-} - REDIS_PASSWORD=${REDIS_PASSWORD:-}
ports: ports:
- "${BUILDINGAI_PORT_OVERRIDE:-4090}:${SERVER_PORT:-4090}" - '${BUILDINGAI_PORT_OVERRIDE:-4090}:${SERVER_PORT:-4090}'
volumes: volumes:
- buildingai_data:/app/data - buildingai_data:/app/data
healthcheck: healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:${SERVER_PORT:-4090}/consoleapi/health || exit 1"] test: [CMD-SHELL, 'curl -f http://localhost:${SERVER_PORT:-4090}/consoleapi/health || exit 1']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -6,8 +6,8 @@
DeepTutor is an AI-powered personalized learning assistant that transforms any document into an interactive learning experience with multi-agent intelligence. It helps you solve problems, generate questions, conduct research, collaborate on writing, organize notes, and guides you through learning paths. DeepTutor is an AI-powered personalized learning assistant that transforms any document into an interactive learning experience with multi-agent intelligence. It helps you solve problems, generate questions, conduct research, collaborate on writing, organize notes, and guides you through learning paths.
**Project:** <https://github.com/HKUDS/DeepTutor> **Project:** <https://github.com/HKUDS/DeepTutor>
**License:** Apache-2.0 **License:** Apache-2.0
**Documentation:** <https://hkuds.github.io/DeepTutor/> **Documentation:** <https://hkuds.github.io/DeepTutor/>
## Features ## Features

View File

@@ -6,8 +6,8 @@
DeepTutor 是一个 AI 驱动的个性化学习助手,通过多智能体系统将任何文档转化为交互式学习体验。它可以帮助您解决问题、生成题目、进行研究、协作写作、整理笔记,并引导您完成学习路径。 DeepTutor 是一个 AI 驱动的个性化学习助手,通过多智能体系统将任何文档转化为交互式学习体验。它可以帮助您解决问题、生成题目、进行研究、协作写作、整理笔记,并引导您完成学习路径。
**项目地址:** <https://github.com/HKUDS/DeepTutor> **项目地址:** <https://github.com/HKUDS/DeepTutor>
**许可证:** Apache-2.0 **许可证:** Apache-2.0
**文档:** <https://hkuds.github.io/DeepTutor/> **文档:** <https://hkuds.github.io/DeepTutor/>
## 功能特性 ## 功能特性

View File

@@ -8,15 +8,15 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
deeptutor: deeptutor:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-ghcr.io}/hkuds/deeptutor:${DEEPTUTOR_VERSION:-latest} image: ${GLOBAL_REGISTRY:-ghcr.io}/hkuds/deeptutor:${DEEPTUTOR_VERSION:-latest}
ports: ports:
- "${DEEPTUTOR_BACKEND_PORT_OVERRIDE:-8001}:${BACKEND_PORT:-8001}" - '${DEEPTUTOR_BACKEND_PORT_OVERRIDE:-8001}:${BACKEND_PORT:-8001}'
- "${DEEPTUTOR_FRONTEND_PORT_OVERRIDE:-3782}:${FRONTEND_PORT:-3782}" - '${DEEPTUTOR_FRONTEND_PORT_OVERRIDE:-3782}:${FRONTEND_PORT:-3782}'
volumes: volumes:
- deeptutor_data:/app/data - deeptutor_data:/app/data
- ./config:/app/config:ro - ./config:/app/config:ro
@@ -42,15 +42,14 @@ services:
- PGID=${PGID:-1000} - PGID=${PGID:-1000}
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - curl
"curl", - -f
"-f", - 'http://localhost:${BACKEND_PORT:-8001}/health'
"http://localhost:${BACKEND_PORT:-8001}/health", - '||'
"||", - exit
"exit", - '1'
"1",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
dify-api: dify-api:
@@ -41,14 +41,13 @@ services:
memory: ${DIFY_API_MEMORY_RESERVATION:-1G} memory: ${DIFY_API_MEMORY_RESERVATION:-1G}
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost:5001/health'
"http://localhost:5001/health",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -98,7 +97,7 @@ services:
- NEXT_PUBLIC_API_URL=${DIFY_API_URL:-http://localhost:5001} - NEXT_PUBLIC_API_URL=${DIFY_API_URL:-http://localhost:5001}
- NEXT_PUBLIC_APP_URL=${DIFY_APP_URL:-http://localhost:3000} - NEXT_PUBLIC_APP_URL=${DIFY_APP_URL:-http://localhost:3000}
ports: ports:
- "${DIFY_PORT_OVERRIDE:-3000}:3000" - '${DIFY_PORT_OVERRIDE:-3000}:3000'
deploy: deploy:
resources: resources:
limits: limits:
@@ -128,7 +127,7 @@ services:
cpus: ${DIFY_DB_CPU_RESERVATION:-0.25} cpus: ${DIFY_DB_CPU_RESERVATION:-0.25}
memory: ${DIFY_DB_MEMORY_RESERVATION:-256M} memory: ${DIFY_DB_MEMORY_RESERVATION:-256M}
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"] test: [CMD-SHELL, pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -151,7 +150,7 @@ services:
cpus: ${DIFY_REDIS_CPU_RESERVATION:-0.1} cpus: ${DIFY_REDIS_CPU_RESERVATION:-0.1}
memory: ${DIFY_REDIS_MEMORY_RESERVATION:-128M} memory: ${DIFY_REDIS_MEMORY_RESERVATION:-128M}
healthcheck: healthcheck:
test: ["CMD", "redis-cli", "ping"] test: [CMD, redis-cli, ping]
interval: 10s interval: 10s
timeout: 3s timeout: 3s
retries: 3 retries: 3
@@ -181,14 +180,13 @@ services:
memory: ${DIFY_WEAVIATE_MEMORY_RESERVATION:-512M} memory: ${DIFY_WEAVIATE_MEMORY_RESERVATION:-512M}
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost:8080/v1/.well-known/ready'
"http://localhost:8080/v1/.well-known/ready",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -62,7 +62,7 @@ If you need to mount the Prisma database files:
```yaml ```yaml
volumes: volumes:
- easy_dataset_db:/app/local-db - easy_dataset_db:/app/local-db
- easy_dataset_prisma:/app/prisma # Uncomment this line - easy_dataset_prisma:/app/prisma # Uncomment this line
``` ```
3. Start the service: 3. Start the service:

View File

@@ -62,7 +62,7 @@
```yaml ```yaml
volumes: volumes:
- easy_dataset_db:/app/local-db - easy_dataset_db:/app/local-db
- easy_dataset_prisma:/app/prisma # 取消此行注释 - easy_dataset_prisma:/app/prisma # 取消此行注释
``` ```
3. 启动服务: 3. 启动服务:

View File

@@ -4,14 +4,14 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
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:
- easy_dataset_db:/app/local-db - easy_dataset_db:/app/local-db
# Uncomment the following line if you need to mount Prisma database files # Uncomment the following line if you need to mount Prisma database files
@@ -29,7 +29,7 @@ services:
cpus: ${EASY_DATASET_CPU_RESERVATION:-0.5} cpus: ${EASY_DATASET_CPU_RESERVATION:-0.5}
memory: ${EASY_DATASET_MEMORY_RESERVATION:-1G} memory: ${EASY_DATASET_MEMORY_RESERVATION:-1G}
healthcheck: healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:1717"] test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:1717']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -218,7 +218,7 @@ For production deployments:
```bash ```bash
# Generate a secure key # Generate a secure key
python -c "from secrets import token_urlsafe; print(token_urlsafe(32))" python -c "from secrets import token_urlsafe; print(token_urlsafe(32))"
# Add to .env # Add to .env
LANGFLOW_SECRET_KEY=<generated-key> LANGFLOW_SECRET_KEY=<generated-key>
``` ```

View File

@@ -218,7 +218,7 @@ curl -X POST http://localhost:7860/api/v1/run/{flow_id} \
```bash ```bash
# 生成安全密钥 # 生成安全密钥
python -c "from secrets import token_urlsafe; print(token_urlsafe(32))" python -c "from secrets import token_urlsafe; print(token_urlsafe(32))"
# 添加到 .env # 添加到 .env
LANGFLOW_SECRET_KEY=<生成的密钥> LANGFLOW_SECRET_KEY=<生成的密钥>
``` ```

View File

@@ -31,14 +31,14 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: ${LOG_MAX_SIZE:-100m} max-size: ${LOG_MAX_SIZE:-100m}
max-file: "${LOG_MAX_FILE:-3}" max-file: '${LOG_MAX_FILE:-3}'
services: services:
langflow: langflow:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}langflowai/langflow:${LANGFLOW_VERSION:-1.1.1} image: ${GLOBAL_REGISTRY:-}langflowai/langflow:${LANGFLOW_VERSION:-1.1.1}
ports: ports:
- "${LANGFLOW_PORT_OVERRIDE:-7860}:7860" - '${LANGFLOW_PORT_OVERRIDE:-7860}:7860'
environment: environment:
# Database configuration # Database configuration
- LANGFLOW_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB} - LANGFLOW_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}
@@ -82,7 +82,7 @@ services:
postgres: postgres:
condition: service_healthy condition: service_healthy
healthcheck: healthcheck:
test: ["CMD", "python", "-c", "import requests; requests.get('http://localhost:7860/health_check', timeout=5)"] test: [CMD, python, -c, "import requests; requests.get('http://localhost:7860/health_check', timeout=5)"]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 5 retries: 5
@@ -90,11 +90,11 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
cpus: "${LANGFLOW_CPU_LIMIT:-2.0}" cpus: '${LANGFLOW_CPU_LIMIT:-2.0}'
memory: "${LANGFLOW_MEMORY_LIMIT:-2G}" memory: '${LANGFLOW_MEMORY_LIMIT:-2G}'
reservations: reservations:
cpus: "${LANGFLOW_CPU_RESERVATION:-0.5}" cpus: '${LANGFLOW_CPU_RESERVATION:-0.5}'
memory: "${LANGFLOW_MEMORY_RESERVATION:-512M}" memory: '${LANGFLOW_MEMORY_RESERVATION:-512M}'
postgres: postgres:
<<: *defaults <<: *defaults
@@ -108,7 +108,7 @@ 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:-langflow} -d ${POSTGRES_DB:-langflow}"] test: [CMD-SHELL, 'pg_isready -U ${POSTGRES_USER:-langflow} -d ${POSTGRES_DB:-langflow}']
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
@@ -116,11 +116,11 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
cpus: "${POSTGRES_CPU_LIMIT:-1.0}" cpus: '${POSTGRES_CPU_LIMIT:-1.0}'
memory: "${POSTGRES_MEMORY_LIMIT:-1G}" memory: '${POSTGRES_MEMORY_LIMIT:-1G}'
reservations: reservations:
cpus: "${POSTGRES_CPU_RESERVATION:-0.25}" cpus: '${POSTGRES_CPU_RESERVATION:-0.25}'
memory: "${POSTGRES_MEMORY_RESERVATION:-256M}" memory: '${POSTGRES_MEMORY_RESERVATION:-256M}'
volumes: volumes:
postgres_data: postgres_data:

View File

@@ -93,7 +93,7 @@ This service deploys Langfuse, an open-source LLM engineering platform for obser
All services have configurable CPU and memory limits: All services have configurable CPU and memory limits:
- **langfuse-worker**: 2 CPU cores, 2GB RAM - **langfuse-worker**: 2 CPU cores, 2GB RAM
- **langfuse-web**: 2 CPU cores, 2GB RAM - **langfuse-web**: 2 CPU cores, 2GB RAM
- **clickhouse**: 2 CPU cores, 4GB RAM - **clickhouse**: 2 CPU cores, 4GB RAM
- **minio**: 1 CPU core, 1GB RAM - **minio**: 1 CPU core, 1GB RAM
- **redis**: 1 CPU core, 512MB RAM - **redis**: 1 CPU core, 512MB RAM

View File

@@ -13,7 +13,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
langfuse-worker: langfuse-worker:
@@ -89,14 +89,13 @@ services:
memory: ${LANGFUSE_WORKER_MEMORY_RESERVATION:-512M} memory: ${LANGFUSE_WORKER_MEMORY_RESERVATION:-512M}
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://127.0.0.1:3030/api/health'
"http://127.0.0.1:3030/api/health",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -107,7 +106,7 @@ services:
image: ${GLOBAL_REGISTRY:-}langfuse/langfuse:${LANGFUSE_VERSION:-3.143.0} image: ${GLOBAL_REGISTRY:-}langfuse/langfuse:${LANGFUSE_VERSION:-3.143.0}
depends_on: *langfuse-depends-on depends_on: *langfuse-depends-on
ports: ports:
- "${LANGFUSE_PORT_OVERRIDE:-3000}:3000" - '${LANGFUSE_PORT_OVERRIDE:-3000}:3000'
environment: environment:
<<: *langfuse-worker-env <<: *langfuse-worker-env
HOSTNAME: ${HOSTNAME:-0.0.0.0} HOSTNAME: ${HOSTNAME:-0.0.0.0}
@@ -131,14 +130,13 @@ services:
memory: ${LANGFUSE_WEB_MEMORY_RESERVATION:-512M} memory: ${LANGFUSE_WEB_MEMORY_RESERVATION:-512M}
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://127.0.0.1:3000/api/public/health'
"http://127.0.0.1:3000/api/public/health",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -149,7 +147,7 @@ services:
image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${CLICKHOUSE_VERSION:-latest} image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${CLICKHOUSE_VERSION:-latest}
profiles: profiles:
- ${COMPOSE_PROFILES:-} - ${COMPOSE_PROFILES:-}
user: "101:101" user: '101:101'
environment: environment:
CLICKHOUSE_DB: default CLICKHOUSE_DB: default
CLICKHOUSE_USER: ${CLICKHOUSE_USER:-clickhouse} CLICKHOUSE_USER: ${CLICKHOUSE_USER:-clickhouse}
@@ -191,7 +189,7 @@ services:
volumes: volumes:
- langfuse_minio_data:/data - langfuse_minio_data:/data
healthcheck: healthcheck:
test: ["CMD", "mc", "ready", "local"] test: [CMD, mc, ready, local]
interval: 1s interval: 1s
timeout: 5s timeout: 5s
retries: 5 retries: 5
@@ -214,7 +212,7 @@ services:
--requirepass ${REDIS_AUTH:-myredissecret} --requirepass ${REDIS_AUTH:-myredissecret}
--maxmemory-policy noeviction --maxmemory-policy noeviction
healthcheck: healthcheck:
test: ["CMD", "redis-cli", "ping"] test: [CMD, redis-cli, ping]
interval: 3s interval: 3s
timeout: 10s timeout: 10s
retries: 10 retries: 10
@@ -241,7 +239,7 @@ services:
volumes: volumes:
- langfuse_postgres_data:/var/lib/postgresql/data - langfuse_postgres_data:/var/lib/postgresql/data
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"] test: [CMD-SHELL, pg_isready -U postgres]
interval: 3s interval: 3s
timeout: 3s timeout: 3s
retries: 10 retries: 10

View File

@@ -4,14 +4,14 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
n8n: n8n:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}n8nio/n8n:${N8N_VERSION:-1.114.0} image: ${GLOBAL_REGISTRY:-}n8nio/n8n:${N8N_VERSION:-1.114.0}
ports: ports:
- "${N8N_PORT:-5678}:5678" - '${N8N_PORT:-5678}:5678'
volumes: volumes:
- n8n_data:/home/node/.n8n - n8n_data:/home/node/.n8n
environment: environment:
@@ -48,7 +48,7 @@ services:
cpus: ${N8N_CPU_RESERVATION:-0.5} cpus: ${N8N_CPU_RESERVATION:-0.5}
memory: ${N8N_MEMORY_RESERVATION:-512M} memory: ${N8N_MEMORY_RESERVATION:-512M}
healthcheck: healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5678/healthz"] test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:5678/healthz']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,14 +4,14 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
nanobot: nanobot:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-ghcr.io/}hkuds/nanobot:${NANOBOT_VERSION:-v0.1.3.post4} image: ${GLOBAL_REGISTRY:-ghcr.io/}hkuds/nanobot:${NANOBOT_VERSION:-v0.1.3.post4}
ports: ports:
- "${NANOBOT_PORT_OVERRIDE:-18790}:18790" - '${NANOBOT_PORT_OVERRIDE:-18790}:18790'
volumes: volumes:
- nanobot_config:/root/.nanobot - nanobot_config:/root/.nanobot
- nanobot_workspace:/root/.nanobot/workspace - nanobot_workspace:/root/.nanobot/workspace
@@ -57,7 +57,7 @@ services:
- NANOBOT_GATEWAY__PORT=${GATEWAY_PORT:-18790} - NANOBOT_GATEWAY__PORT=${GATEWAY_PORT:-18790}
command: ${NANOBOT_COMMAND:-gateway} command: ${NANOBOT_COMMAND:-gateway}
healthcheck: healthcheck:
test: ["CMD", "python", "-c", "import sys; sys.exit(0)"] test: [CMD, python, -c, import sys; sys.exit(0)]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -26,7 +26,7 @@ OpenClaw is a personal AI assistant that runs on your own devices. It integrates
```bash ```bash
# Using OpenSSL # Using OpenSSL
openssl rand -hex 32 openssl rand -hex 32
# Or using Python # Or using Python
python3 -c "import secrets; print(secrets.token_hex(32))" python3 -c "import secrets; print(secrets.token_hex(32))"
``` ```

View File

@@ -26,7 +26,7 @@ OpenClaw 是一个运行在你自己设备上的个人 AI 助手。它集成了
```bash ```bash
# 使用 OpenSSL # 使用 OpenSSL
openssl rand -hex 32 openssl rand -hex 32
# 或使用 Python # 或使用 Python
python3 -c "import secrets; print(secrets.token_hex(32))" python3 -c "import secrets; print(secrets.token_hex(32))"
``` ```

View File

@@ -8,7 +8,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
openclaw-gateway: openclaw-gateway:
@@ -33,18 +33,18 @@ services:
- openclaw_config:/home/node/.openclaw - openclaw_config:/home/node/.openclaw
- openclaw_workspace:/home/node/openclaw-workspace - openclaw_workspace:/home/node/openclaw-workspace
ports: ports:
- "${OPENCLAW_GATEWAY_PORT_OVERRIDE:-18789}:18789" - '${OPENCLAW_GATEWAY_PORT_OVERRIDE:-18789}:18789'
- "${OPENCLAW_BRIDGE_PORT_OVERRIDE:-18790}:18790" - '${OPENCLAW_BRIDGE_PORT_OVERRIDE:-18790}:18790'
command: command:
- node - node
- dist/index.js - dist/index.js
- gateway - gateway
- --bind - --bind
- "${OPENCLAW_GATEWAY_BIND:-lan}" - '${OPENCLAW_GATEWAY_BIND:-lan}'
- --port - --port
- "18789" - '18789'
healthcheck: healthcheck:
test: ["CMD", "node", "dist/index.js", "health", "--port", "18789"] test: [CMD, node, dist/index.js, health, --port, '18789']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -74,7 +74,7 @@ services:
- moltbot_workspace:/home/node/clawd - moltbot_workspace:/home/node/clawd
stdin_open: true stdin_open: true
tty: true tty: true
entrypoint: ["node", "dist/index.js"] entrypoint: [node, dist/index.js]
profiles: profiles:
- cli - cli
deploy: deploy:

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
# Note: OpenCoze is a complex platform that requires multiple services. # Note: OpenCoze is a complex platform that requires multiple services.

View File

@@ -70,7 +70,7 @@ npm install openlit
```typescript ```typescript
import Openlit from 'openlit'; import Openlit from 'openlit';
Openlit.init({ Openlit.init({
otlpEndpoint: 'http://localhost:4318' otlpEndpoint: 'http://localhost:4318'
}); });
``` ```

View File

@@ -70,7 +70,7 @@ npm install openlit
```typescript ```typescript
import Openlit from 'openlit'; import Openlit from 'openlit';
Openlit.init({ Openlit.init({
otlpEndpoint: 'http://localhost:4318' otlpEndpoint: 'http://localhost:4318'
}); });
``` ```

View File

@@ -9,7 +9,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
clickhouse: clickhouse:
@@ -24,10 +24,10 @@ services:
volumes: volumes:
- clickhouse_data:/var/lib/clickhouse - clickhouse_data:/var/lib/clickhouse
ports: ports:
- "${CLICKHOUSE_HTTP_PORT_OVERRIDE:-8123}:8123" - '${CLICKHOUSE_HTTP_PORT_OVERRIDE:-8123}:8123'
- "${CLICKHOUSE_NATIVE_PORT_OVERRIDE:-9000}:9000" - '${CLICKHOUSE_NATIVE_PORT_OVERRIDE:-9000}:9000'
healthcheck: healthcheck:
test: ["CMD-SHELL", "clickhouse-client --user=$${CLICKHOUSE_USER} --password=$${CLICKHOUSE_PASSWORD} --query='SELECT 1' || exit 1"] test: [CMD-SHELL, "clickhouse-client --user=$${CLICKHOUSE_USER} --password=$${CLICKHOUSE_PASSWORD} --query='SELECT 1' || exit 1"]
interval: 5s interval: 5s
timeout: 3s timeout: 3s
retries: 10 retries: 10
@@ -69,16 +69,16 @@ services:
- OPAMP_TLS_MAX_VERSION=${OPAMP_TLS_MAX_VERSION:-1.3} - OPAMP_TLS_MAX_VERSION=${OPAMP_TLS_MAX_VERSION:-1.3}
- OPAMP_LOG_LEVEL=${OPAMP_LOG_LEVEL:-info} - OPAMP_LOG_LEVEL=${OPAMP_LOG_LEVEL:-info}
ports: ports:
- "${OPENLIT_PORT_OVERRIDE:-3000}:${OPENLIT_INTERNAL_PORT:-3000}" - '${OPENLIT_PORT_OVERRIDE:-3000}:${OPENLIT_INTERNAL_PORT:-3000}'
- "${OPENLIT_OTLP_GRPC_PORT_OVERRIDE:-4317}:4317" - '${OPENLIT_OTLP_GRPC_PORT_OVERRIDE:-4317}:4317'
- "${OPENLIT_OTLP_HTTP_PORT_OVERRIDE:-4318}:4318" - '${OPENLIT_OTLP_HTTP_PORT_OVERRIDE:-4318}:4318'
depends_on: depends_on:
clickhouse: clickhouse:
condition: service_healthy condition: service_healthy
volumes: volumes:
- openlit_data:/app/client/data - openlit_data:/app/client/data
healthcheck: healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:${OPENLIT_INTERNAL_PORT:-3000}/health"] test: [CMD, wget, --quiet, --tries=1, --spider, 'http://localhost:${OPENLIT_INTERNAL_PORT:-3000}/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -8,14 +8,14 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
openobserve: openobserve:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-public.ecr.aws/zinclabs/}openobserve:${OPENOBSERVE_VERSION:-v0.50.0} image: ${GLOBAL_REGISTRY:-public.ecr.aws/zinclabs/}openobserve:${OPENOBSERVE_VERSION:-v0.50.0}
ports: ports:
- "${OPENOBSERVE_PORT_OVERRIDE:-5080}:5080" - '${OPENOBSERVE_PORT_OVERRIDE:-5080}:5080'
volumes: volumes:
- openobserve_data:/data - openobserve_data:/data
environment: environment:
@@ -29,7 +29,7 @@ services:
- ZO_S3_ACCESS_KEY=${ZO_S3_ACCESS_KEY:-} - ZO_S3_ACCESS_KEY=${ZO_S3_ACCESS_KEY:-}
- ZO_S3_SECRET_KEY=${ZO_S3_SECRET_KEY:-} - ZO_S3_SECRET_KEY=${ZO_S3_SECRET_KEY:-}
healthcheck: healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5080/healthz"] test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:5080/healthz']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -22,15 +22,15 @@ network_mode = "bridge"
# Security hardening options # Security hardening options
# Drop dangerous capabilities # Drop dangerous capabilities
drop_capabilities = [ drop_capabilities = [
"AUDIT_WRITE", "AUDIT_WRITE",
"MKNOD", "MKNOD",
"NET_ADMIN", "NET_ADMIN",
"NET_RAW", "NET_RAW",
"SYS_ADMIN", "SYS_ADMIN",
"SYS_MODULE", "SYS_MODULE",
"SYS_PTRACE", "SYS_PTRACE",
"SYS_TIME", "SYS_TIME",
"SYS_TTY_CONFIG" "SYS_TTY_CONFIG"
] ]
# Prevent privilege escalation inside containers # Prevent privilege escalation inside containers

View File

@@ -8,14 +8,14 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
opensandbox-server: opensandbox-server:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}opensandbox/server:${OPENSANDBOX_SERVER_VERSION:-v1.0.5} image: ${GLOBAL_REGISTRY:-}opensandbox/server:${OPENSANDBOX_SERVER_VERSION:-v1.0.5}
ports: ports:
- "${OPENSANDBOX_SERVER_PORT_OVERRIDE:-8080}:8080" - '${OPENSANDBOX_SERVER_PORT_OVERRIDE:-8080}:8080'
volumes: volumes:
# Mount Docker socket to enable sandbox creation # Mount Docker socket to enable sandbox creation
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
@@ -30,7 +30,7 @@ services:
# Docker runtime settings (override config.toml via env vars if needed) # Docker runtime settings (override config.toml via env vars if needed)
- DOCKER_HOST=${DOCKER_HOST:-unix:///var/run/docker.sock} - DOCKER_HOST=${DOCKER_HOST:-unix:///var/run/docker.sock}
healthcheck: healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"] test: [CMD, curl, -f, 'http://localhost:8080/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -8,14 +8,14 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: ${LOG_MAX_SIZE:-100m} max-size: ${LOG_MAX_SIZE:-100m}
max-file: "${LOG_MAX_FILE:-3}" max-file: '${LOG_MAX_FILE:-3}'
services: services:
simstudio: simstudio:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}ghcr.io/simstudioai/simstudio:${SIM_VERSION:-latest} image: ${GLOBAL_REGISTRY:-}ghcr.io/simstudioai/simstudio:${SIM_VERSION:-latest}
ports: ports:
- "${SIM_PORT_OVERRIDE:-3000}:3000" - '${SIM_PORT_OVERRIDE:-3000}:3000'
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
- NODE_ENV=production - NODE_ENV=production
@@ -37,7 +37,7 @@ services:
realtime: realtime:
condition: service_healthy condition: service_healthy
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "--quiet", "http://127.0.0.1:3000"] test: [CMD, wget, --spider, --quiet, 'http://127.0.0.1:3000']
interval: 90s interval: 90s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -55,7 +55,7 @@ services:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}ghcr.io/simstudioai/realtime:${SIM_REALTIME_VERSION:-latest} image: ${GLOBAL_REGISTRY:-}ghcr.io/simstudioai/realtime:${SIM_REALTIME_VERSION:-latest}
ports: ports:
- "${SIM_REALTIME_PORT_OVERRIDE:-3002}:3002" - '${SIM_REALTIME_PORT_OVERRIDE:-3002}:3002'
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
- DATABASE_URL=postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-simstudio} - DATABASE_URL=postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-simstudio}
@@ -66,7 +66,7 @@ services:
db: db:
condition: service_healthy condition: service_healthy
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "--quiet", "http://127.0.0.1:3002/health"] test: [CMD, wget, --spider, --quiet, 'http://127.0.0.1:3002/health']
interval: 90s interval: 90s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -89,13 +89,13 @@ services:
depends_on: depends_on:
db: db:
condition: service_healthy condition: service_healthy
command: ["bun", "run", "db:migrate"] command: [bun, run, 'db:migrate']
restart: "no" restart: no
logging: logging:
driver: json-file driver: json-file
options: options:
max-size: ${LOG_MAX_SIZE:-100m} max-size: ${LOG_MAX_SIZE:-100m}
max-file: "${LOG_MAX_FILE:-3}" max-file: '${LOG_MAX_FILE:-3}'
deploy: deploy:
resources: resources:
limits: limits:
@@ -109,7 +109,7 @@ services:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}pgvector/pgvector:${PGVECTOR_VERSION:-pg17} image: ${GLOBAL_REGISTRY:-}pgvector/pgvector:${PGVECTOR_VERSION:-pg17}
ports: ports:
- "${POSTGRES_PORT_OVERRIDE:-5432}:5432" - '${POSTGRES_PORT_OVERRIDE:-5432}:5432'
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
- POSTGRES_USER=${POSTGRES_USER:-postgres} - POSTGRES_USER=${POSTGRES_USER:-postgres}
@@ -118,7 +118,7 @@ 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:-postgres}"] test: [CMD-SHELL, 'pg_isready -U ${POSTGRES_USER:-postgres}']
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5

View File

@@ -4,14 +4,14 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
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:
TZ: ${TZ:-UTC} TZ: ${TZ:-UTC}
CLI_ARGS: ${CLI_ARGS:---listen --api --skip-version-check} CLI_ARGS: ${CLI_ARGS:---listen --api --skip-version-check}
@@ -33,7 +33,7 @@ services:
count: ${GPU_COUNT:-1} count: ${GPU_COUNT:-1}
capabilities: [gpu] capabilities: [gpu]
healthcheck: healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:7860/"] test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:7860/']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,14 +4,14 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
stirling-pdf: stirling-pdf:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}stirlingtools/stirling-pdf:${STIRLING_VERSION:-latest} image: ${GLOBAL_REGISTRY:-}stirlingtools/stirling-pdf:${STIRLING_VERSION:-latest}
ports: ports:
- "${PORT_OVERRIDE:-8080}:8080" - '${PORT_OVERRIDE:-8080}:8080'
volumes: volumes:
- stirling_trainingData:/usr/share/tessdata - stirling_trainingData:/usr/share/tessdata
- stirling_configs:/configs - stirling_configs:/configs
@@ -44,7 +44,7 @@ services:
cpus: ${STIRLING_CPU_RESERVATION:-1.0} cpus: ${STIRLING_CPU_RESERVATION:-1.0}
memory: ${STIRLING_MEMORY_RESERVATION:-2G} memory: ${STIRLING_MEMORY_RESERVATION:-2G}
healthcheck: healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/"] test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:8080/']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -7,7 +7,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
dind: dind:
@@ -26,14 +26,14 @@ services:
- INSTALL_NVIDIA_TOOLKIT=${INSTALL_NVIDIA_TOOLKIT:-false} - INSTALL_NVIDIA_TOOLKIT=${INSTALL_NVIDIA_TOOLKIT:-false}
privileged: true privileged: true
ports: ports:
- "${DIND_PORT_OVERRIDE:-2375}:2375" - '${DIND_PORT_OVERRIDE:-2375}:2375'
volumes: volumes:
- dind_data:/var/lib/docker - dind_data:/var/lib/docker
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
- DOCKER_TLS_CERTDIR=${DOCKER_TLS_CERTDIR:-} - DOCKER_TLS_CERTDIR=${DOCKER_TLS_CERTDIR:-}
healthcheck: healthcheck:
test: ["CMD", "docker", "info"] test: [CMD, docker, info]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -64,7 +64,7 @@ services:
- INSTALL_NVIDIA_TOOLKIT=true - INSTALL_NVIDIA_TOOLKIT=true
privileged: true privileged: true
ports: ports:
- "${DIND_PORT_OVERRIDE:-2375}:2375" - '${DIND_PORT_OVERRIDE:-2375}:2375'
volumes: volumes:
- dind_gpu_data:/var/lib/docker - dind_gpu_data:/var/lib/docker
environment: environment:
@@ -73,7 +73,7 @@ services:
- NVIDIA_VISIBLE_DEVICES=all - NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility - NVIDIA_DRIVER_CAPABILITIES=compute,utility
healthcheck: healthcheck:
test: ["CMD", "docker", "info"] test: [CMD, docker, info]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -8,7 +8,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: ${GOOSE_LOG_MAX_SIZE:-100m} max-size: ${GOOSE_LOG_MAX_SIZE:-100m}
max-file: "${GOOSE_LOG_MAX_FILE:-3}" max-file: '${GOOSE_LOG_MAX_FILE:-3}'
services: services:
goose: goose:

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
io-paint: io-paint:
@@ -40,7 +40,7 @@ services:
device_ids: ['0'] device_ids: ['0']
capabilities: [compute, utility] capabilities: [compute, utility]
healthcheck: healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/"] test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:8080/']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -8,7 +8,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
k3s: k3s:
@@ -28,15 +28,15 @@ services:
- k3s_data:/var/lib/rancher/k3s - k3s_data:/var/lib/rancher/k3s
- docker_data:/var/lib/docker - docker_data:/var/lib/docker
ports: ports:
- "${K3S_API_PORT_OVERRIDE:-6443}:6443" # Kubernetes API server - '${K3S_API_PORT_OVERRIDE:-6443}:6443' # Kubernetes API server
- "${DOCKER_TLS_PORT_OVERRIDE:-2376}:2376" # Docker daemon TLS port - '${DOCKER_TLS_PORT_OVERRIDE:-2376}:2376' # Docker daemon TLS port
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
- K3S_TOKEN=${K3S_TOKEN:-} - K3S_TOKEN=${K3S_TOKEN:-}
- K3S_DISABLE_SERVICES=${K3S_DISABLE_SERVICES:-traefik} - K3S_DISABLE_SERVICES=${K3S_DISABLE_SERVICES:-traefik}
- K3S_NODE_NAME=${K3S_NODE_NAME:-k3s-server} - K3S_NODE_NAME=${K3S_NODE_NAME:-k3s-server}
healthcheck: healthcheck:
test: ["CMD", "k3s", "kubectl", "get", "--raw", "/healthz"] test: [CMD, k3s, kubectl, get, --raw, /healthz]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 5 retries: 5

View File

@@ -8,7 +8,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
microsandbox: microsandbox:
@@ -25,7 +25,7 @@ services:
- MICROSANDBOX_AUTO_PULL_IMAGES=${MICROSANDBOX_AUTO_PULL_IMAGES:-true} - MICROSANDBOX_AUTO_PULL_IMAGES=${MICROSANDBOX_AUTO_PULL_IMAGES:-true}
image: ${GLOBAL_REGISTRY:-ghcr.io}/zerocore-ai/microsandbox:${MICROSANDBOX_VERSION:-latest} image: ${GLOBAL_REGISTRY:-ghcr.io}/zerocore-ai/microsandbox:${MICROSANDBOX_VERSION:-latest}
ports: ports:
- "${MICROSANDBOX_PORT_OVERRIDE:-5555}:${MICROSANDBOX_PORT:-5555}" - '${MICROSANDBOX_PORT_OVERRIDE:-5555}:${MICROSANDBOX_PORT:-5555}'
# Privileged mode and relaxed security profiles are required for KVM access # Privileged mode and relaxed security profiles are required for KVM access
# This provides hardware-level isolation inside the container # This provides hardware-level isolation inside the container
# See README.md for security considerations # See README.md for security considerations
@@ -58,7 +58,7 @@ services:
exec server start --host 0.0.0.0 --port $${MICROSANDBOX_PORT:-5555} $${DEV_FLAG}; exec server start --host 0.0.0.0 --port $${MICROSANDBOX_PORT:-5555} $${DEV_FLAG};
working_dir: /workspace working_dir: /workspace
healthcheck: healthcheck:
test: ["CMD-SHELL", "msb --version || exit 1"] test: [CMD-SHELL, 'msb --version || exit 1']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
x-mineru-vllm: &mineru-vllm x-mineru-vllm: &mineru-vllm
<<: *defaults <<: *defaults
@@ -25,21 +25,21 @@ x-mineru-vllm: &mineru-vllm
deploy: deploy:
resources: resources:
limits: limits:
cpus: "16.0" cpus: '16.0'
memory: 32G memory: 32G
reservations: reservations:
cpus: "8.0" cpus: '8.0'
memory: 16G memory: 16G
devices: devices:
- driver: nvidia - driver: nvidia
device_ids: ["0"] device_ids: ['0']
capabilities: [gpu] capabilities: [gpu]
services: services:
mineru-openai-server: mineru-openai-server:
<<: *mineru-vllm <<: *mineru-vllm
profiles: profiles:
- "openai-server" - openai-server
- ${COMPOSE_PROFILES:-} - ${COMPOSE_PROFILES:-}
ports: ports:
- ${MINERU_PORT_OVERRIDE_VLLM:-30000}:30000 - ${MINERU_PORT_OVERRIDE_VLLM:-30000}:30000
@@ -50,7 +50,7 @@ services:
# --data-parallel-size 2 # If using multiple GPUs, increase throughput using vllm's multi-GPU parallel mode # --data-parallel-size 2 # If using multiple GPUs, increase throughput using vllm's multi-GPU parallel mode
# --gpu-memory-utilization 0.9 # If running on a single GPU and encountering VRAM shortage, reduce the KV cache size by this parameter, if VRAM issues persist, try lowering it further to `0.4` or below. # --gpu-memory-utilization 0.9 # If running on a single GPU and encountering VRAM shortage, reduce the KV cache size by this parameter, if VRAM issues persist, try lowering it further to `0.4` or below.
healthcheck: healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:30000/health || exit 1"] test: [CMD-SHELL, 'curl -f http://localhost:30000/health || exit 1']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -58,7 +58,7 @@ services:
mineru-api: mineru-api:
<<: *mineru-vllm <<: *mineru-vllm
profiles: ["api"] profiles: [api]
ports: ports:
- ${MINERU_PORT_OVERRIDE_API:-8000}:8000 - ${MINERU_PORT_OVERRIDE_API:-8000}:8000
entrypoint: mineru-api entrypoint: mineru-api
@@ -70,14 +70,13 @@ services:
# --gpu-memory-utilization 0.5 # If running on a single GPU and encountering VRAM shortage, reduce the KV cache size by this parameter, if VRAM issues persist, try lowering it further to `0.4` or below. # --gpu-memory-utilization 0.5 # If running on a single GPU and encountering VRAM shortage, reduce the KV cache size by this parameter, if VRAM issues persist, try lowering it further to `0.4` or below.
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost:8000/docs'
"http://localhost:8000/docs",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -85,7 +84,7 @@ services:
mineru-gradio: mineru-gradio:
<<: *mineru-vllm <<: *mineru-vllm
profiles: ["gradio"] profiles: [gradio]
ports: ports:
- ${MINERU_PORT_OVERRIDE_GRADIO:-7860}:7860 - ${MINERU_PORT_OVERRIDE_GRADIO:-7860}:7860
entrypoint: mineru-gradio entrypoint: mineru-gradio
@@ -99,14 +98,13 @@ services:
# --gpu-memory-utilization 0.5 # If running on a single GPU and encountering VRAM shortage, reduce the KV cache size by this parameter, if VRAM issues persist, try lowering it further to `0.4` or below. # --gpu-memory-utilization 0.5 # If running on a single GPU and encountering VRAM shortage, reduce the KV cache size by this parameter, if VRAM issues persist, try lowering it further to `0.4` or below.
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost:7860/'
"http://localhost:7860/",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

26
eslint.config.mjs Normal file
View File

@@ -0,0 +1,26 @@
import antfu from '@antfu/eslint-config'
export default antfu({
// Enable YAML support
yaml: true,
// Disable other language support we don't need
typescript: false,
vue: false,
react: false,
svelte: false,
astro: false,
toml: false,
// Enable stylistic formatting
stylistic: {
indent: 2,
quotes: 'single',
semi: false,
},
// Files to ignore
ignores: [
'**/node_modules/**',
'**/.git/**',
],
// Lint readme files
markdown: true,
})

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-api-gateway: mcp-api-gateway:
@@ -14,9 +14,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_API_GATEWAY_PORT_OVERRIDE:-8000}:8000" - '${MCP_API_GATEWAY_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-arxiv: mcp-arxiv:
@@ -15,11 +15,11 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_ARXIV_PORT_OVERRIDE:-8000}:8000" - '${MCP_ARXIV_PORT_OVERRIDE:-8000}:8000'
volumes: volumes:
- arxiv_data:/data/papers - arxiv_data:/data/papers
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-basic-memory: mcp-basic-memory:
@@ -14,11 +14,11 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_BASIC_MEMORY_PORT_OVERRIDE:-8000}:8000" - '${MCP_BASIC_MEMORY_PORT_OVERRIDE:-8000}:8000'
volumes: volumes:
- basic_memory_data:/data - basic_memory_data:/data
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-clickhouse: mcp-clickhouse:
@@ -17,9 +17,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_CLICKHOUSE_PORT_OVERRIDE:-8000}:8000" - '${MCP_CLICKHOUSE_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-docker: mcp-docker:
@@ -15,11 +15,11 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_DOCKER_PORT_OVERRIDE:-8000}:8000" - '${MCP_DOCKER_PORT_OVERRIDE:-8000}:8000'
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
dockerhub: dockerhub:
@@ -17,9 +17,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${DOCKERHUB_MCP_PORT_OVERRIDE:-8000}:8000" - '${DOCKERHUB_MCP_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-e2b: mcp-e2b:
@@ -15,9 +15,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_E2B_PORT_OVERRIDE:-8000}:8000" - '${MCP_E2B_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -3,8 +3,8 @@ x-defaults: &defaults
logging: logging:
driver: json-file driver: json-file
options: options:
max-size: "100m" max-size: 100m
max-file: "3" max-file: '3'
deploy: deploy:
resources: resources:
limits: limits:
@@ -23,9 +23,9 @@ services:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
- ELEVENLABS_API_KEY=${ELEVENLABS_API_KEY} - ELEVENLABS_API_KEY=${ELEVENLABS_API_KEY}
ports: ports:
- "${MCP_ELEVENLABS_PORT_OVERRIDE:-8000}:8000" - '${MCP_ELEVENLABS_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8000/health"] test: [CMD, wget, --quiet, --tries=1, --spider, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-fetch: mcp-fetch:
@@ -14,9 +14,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_FETCH_PORT_OVERRIDE:-8000}:8000" - '${MCP_FETCH_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-filesystem: mcp-filesystem:
@@ -14,11 +14,11 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_FILESYSTEM_PORT_OVERRIDE:-8000}:8000" - '${MCP_FILESYSTEM_PORT_OVERRIDE:-8000}:8000'
volumes: volumes:
- ${DATA_DIR:-./data}:/data - ${DATA_DIR:-./data}:/data
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -3,8 +3,8 @@ x-defaults: &defaults
logging: logging:
driver: json-file driver: json-file
options: options:
max-size: "100m" max-size: 100m
max-file: "3" max-file: '3'
deploy: deploy:
resources: resources:
limits: limits:
@@ -23,9 +23,9 @@ services:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
- FIRECRAWL_API_KEY=${FIRECRAWL_API_KEY} - FIRECRAWL_API_KEY=${FIRECRAWL_API_KEY}
ports: ports:
- "${MCP_FIRECRAWL_PORT_OVERRIDE:-8000}:8000" - '${MCP_FIRECRAWL_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8000/health"] test: [CMD, wget, --quiet, --tries=1, --spider, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-grafana: mcp-grafana:
@@ -16,12 +16,12 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_GRAFANA_PORT_OVERRIDE:-8000}:8000" - '${MCP_GRAFANA_PORT_OVERRIDE:-8000}:8000'
depends_on: depends_on:
grafana: grafana:
condition: service_healthy condition: service_healthy
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -45,13 +45,13 @@ services:
- GF_SERVER_ROOT_URL=${GRAFANA_ROOT_URL:-http://localhost:3000} - GF_SERVER_ROOT_URL=${GRAFANA_ROOT_URL:-http://localhost:3000}
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${GRAFANA_PORT_OVERRIDE:-3000}:3000" - '${GRAFANA_PORT_OVERRIDE:-3000}:3000'
volumes: volumes:
- grafana_data:/var/lib/grafana - grafana_data:/var/lib/grafana
- grafana_config:/etc/grafana - grafana_config:/etc/grafana
- grafana_logs:/var/log/grafana - grafana_logs:/var/log/grafana
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000/api/health"] test: [CMD, wget, --spider, -q, 'http://localhost:3000/api/health']
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-markdownify: mcp-markdownify:
@@ -14,9 +14,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_MARKDOWNIFY_PORT_OVERRIDE:-8000}:8000" - '${MCP_MARKDOWNIFY_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-markitdown: mcp-markitdown:
@@ -14,11 +14,11 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_MARKITDOWN_PORT_OVERRIDE:-8000}:8000" - '${MCP_MARKITDOWN_PORT_OVERRIDE:-8000}:8000'
volumes: volumes:
- ${DATA_DIR:-./data}:/data - ${DATA_DIR:-./data}:/data
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-memory: mcp-memory:
@@ -14,11 +14,11 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_MEMORY_PORT_OVERRIDE:-8000}:8000" - '${MCP_MEMORY_PORT_OVERRIDE:-8000}:8000'
volumes: volumes:
- memory_data:/data - memory_data:/data
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-mongodb: mcp-mongodb:
@@ -16,12 +16,12 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_MONGODB_PORT_OVERRIDE:-8000}:8000" - '${MCP_MONGODB_PORT_OVERRIDE:-8000}:8000'
depends_on: depends_on:
mongodb: mongodb:
condition: service_healthy condition: service_healthy
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -44,12 +44,12 @@ services:
- MONGO_INITDB_DATABASE=${MONGODB_DATABASE:-mcp_db} - MONGO_INITDB_DATABASE=${MONGODB_DATABASE:-mcp_db}
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MONGODB_PORT_OVERRIDE:-27017}:27017" - '${MONGODB_PORT_OVERRIDE:-27017}:27017'
volumes: volumes:
- mongodb_data:/data/db - mongodb_data:/data/db
- mongodb_config:/data/configdb - mongodb_config:/data/configdb
healthcheck: healthcheck:
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"] test: [CMD, mongosh, --eval, "db.adminCommand('ping')"]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-neo4j-cypher: mcp-neo4j-cypher:
@@ -17,9 +17,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_NEO4J_CYPHER_PORT_OVERRIDE:-8000}:8000" - '${MCP_NEO4J_CYPHER_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-neo4j-memory: mcp-neo4j-memory:
@@ -17,9 +17,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_NEO4J_MEMORY_PORT_OVERRIDE:-8000}:8000" - '${MCP_NEO4J_MEMORY_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-notion: mcp-notion:
@@ -15,9 +15,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_NOTION_PORT_OVERRIDE:-8000}:8000" - '${MCP_NOTION_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-openapi-schema: mcp-openapi-schema:
@@ -14,9 +14,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_OPENAPI_SCHEMA_PORT_OVERRIDE:-8000}:8000" - '${MCP_OPENAPI_SCHEMA_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-openapi: mcp-openapi:
@@ -14,9 +14,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_OPENAPI_PORT_OVERRIDE:-8000}:8000" - '${MCP_OPENAPI_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-openweather: mcp-openweather:
@@ -15,9 +15,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_OPENWEATHER_PORT_OVERRIDE:-8000}:8000" - '${MCP_OPENWEATHER_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-paper-search: mcp-paper-search:
@@ -14,9 +14,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_PAPER_SEARCH_PORT_OVERRIDE:-8000}:8000" - '${MCP_PAPER_SEARCH_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
playwright: playwright:
@@ -14,11 +14,11 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${PLAYWRIGHT_PORT_OVERRIDE:-8000}:8000" - '${PLAYWRIGHT_PORT_OVERRIDE:-8000}:8000'
volumes: volumes:
- playwright_data:/app/data - playwright_data:/app/data
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -33,7 +33,7 @@ services:
memory: 512M memory: 512M
security_opt: security_opt:
- seccomp:unconfined - seccomp:unconfined
shm_size: '2gb' shm_size: 2gb
volumes: volumes:
playwright_data: playwright_data:

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp: mcp:
@@ -16,12 +16,12 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_PORT_OVERRIDE:-8000}:8000" - '${MCP_PORT_OVERRIDE:-8000}:8000'
depends_on: depends_on:
redis: redis:
condition: service_healthy condition: service_healthy
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -40,13 +40,13 @@ services:
image: ${GLOBAL_REGISTRY:-}redis:${REDIS_VERSION:-7-alpine} image: ${GLOBAL_REGISTRY:-}redis:${REDIS_VERSION:-7-alpine}
command: redis-server --appendonly yes command: redis-server --appendonly yes
ports: ports:
- "${REDIS_PORT_OVERRIDE:-6379}:6379" - '${REDIS_PORT_OVERRIDE:-6379}:6379'
volumes: volumes:
- redis_data:/data - redis_data:/data
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
healthcheck: healthcheck:
test: ["CMD", "redis-cli", "ping"] test: [CMD, redis-cli, ping]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
rust-mcp-filesystem: rust-mcp-filesystem:
@@ -15,14 +15,14 @@ services:
- ALLOWED_PATHS=${ALLOWED_PATHS:-/projects} - ALLOWED_PATHS=${ALLOWED_PATHS:-/projects}
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${RUST_MCP_FILESYSTEM_PORT_OVERRIDE:-8000}:8000" - '${RUST_MCP_FILESYSTEM_PORT_OVERRIDE:-8000}:8000'
volumes: volumes:
# 挂载需要访问的目录到 /projects 下 # 挂载需要访问的目录到 /projects 下
- ${HOST_WORKSPACE_PATH:-./workspace}:/projects/workspace:ro - ${HOST_WORKSPACE_PATH:-./workspace}:/projects/workspace:ro
# 如果需要写入权限,移除 :ro 标志 # 如果需要写入权限,移除 :ro 标志
# - ${HOST_DATA_PATH:-./data}:/projects/data # - ${HOST_DATA_PATH:-./data}:/projects/data
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-sequentialthinking: mcp-sequentialthinking:
@@ -14,9 +14,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_SEQUENTIALTHINKING_PORT_OVERRIDE:-8000}:8000" - '${MCP_SEQUENTIALTHINKING_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-sqlite: mcp-sqlite:
@@ -14,11 +14,11 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_SQLITE_PORT_OVERRIDE:-8000}:8000" - '${MCP_SQLITE_PORT_OVERRIDE:-8000}:8000'
volumes: volumes:
- ${DATA_DIR:-./data}:/data - ${DATA_DIR:-./data}:/data
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
tavily: tavily:
@@ -14,9 +14,9 @@ services:
- TAVILY_API_KEY=${TAVILY_API_KEY} - TAVILY_API_KEY=${TAVILY_API_KEY}
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${TAVILY_PORT_OVERRIDE:-8000}:8000" - '${TAVILY_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-text-to-graphql: mcp-text-to-graphql:
@@ -14,9 +14,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_TEXT_TO_GRAPHQL_PORT_OVERRIDE:-8000}:8000" - '${MCP_TEXT_TO_GRAPHQL_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-time: mcp-time:
@@ -14,9 +14,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_TIME_PORT_OVERRIDE:-8000}:8000" - '${MCP_TIME_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
mcp-wolfram-alpha: mcp-wolfram-alpha:
@@ -15,9 +15,9 @@ services:
- MCP_HOST=0.0.0.0 - MCP_HOST=0.0.0.0
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_WOLFRAM_ALPHA_PORT_OVERRIDE:-8000}:8000" - '${MCP_WOLFRAM_ALPHA_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] test: [CMD, wget, --spider, -q, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -3,8 +3,8 @@ x-defaults: &defaults
logging: logging:
driver: json-file driver: json-file
options: options:
max-size: "100m" max-size: 100m
max-file: "3" max-file: '3'
deploy: deploy:
resources: resources:
limits: limits:
@@ -22,9 +22,9 @@ services:
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
ports: ports:
- "${MCP_YOUTUBE_TRANSCRIPT_PORT_OVERRIDE:-8000}:8000" - '${MCP_YOUTUBE_TRANSCRIPT_PORT_OVERRIDE:-8000}:8000'
healthcheck: healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8000/health"] test: [CMD, wget, --quiet, --tries=1, --spider, 'http://localhost:8000/health']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

23
package.json Normal file
View File

@@ -0,0 +1,23 @@
{
"name": "compose-anything",
"version": "1.0.0",
"packageManager": "pnpm@10.25.0",
"description": "Deploy anything with Docker Compose",
"author": "",
"license": "ISC",
"keywords": [
"compose",
"docker",
"deployment"
],
"main": "index.js",
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"@antfu/eslint-config": "^7.4.3",
"eslint": "^10.0.1"
}
}

2673
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -5,17 +5,17 @@ binds:
- policies: - policies:
cors: cors:
allowOrigins: allowOrigins:
- "*" - '*'
allowHeaders: allowHeaders:
- mcp-protocol-version - mcp-protocol-version
- content-type - content-type
- cache-control - cache-control
exposeHeaders: exposeHeaders:
- "Mcp-Session-Id" - Mcp-Session-Id
backends: backends:
- mcp: - mcp:
targets: targets:
- name: everything - name: everything
stdio: stdio:
cmd: npx cmd: npx
args: ["@modelcontextprotocol/server-everything"] args: ['@modelcontextprotocol/server-everything']

View File

@@ -4,23 +4,23 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
agentgateway: agentgateway:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}cr.agentgateway.dev/agentgateway:${AGENTGATEWAY_VERSION:-0.11.2} image: ${GLOBAL_REGISTRY:-}cr.agentgateway.dev/agentgateway:${AGENTGATEWAY_VERSION:-0.11.2}
ports: ports:
- "${AGENTGATEWAY_PORT_OVERRIDE:-3000}:3000" - '${AGENTGATEWAY_PORT_OVERRIDE:-3000}:3000'
- "127.0.0.1:${AGENTGATEWAY_ADMIN_PORT_OVERRIDE:-15000}:15000" - '127.0.0.1:${AGENTGATEWAY_ADMIN_PORT_OVERRIDE:-15000}:15000'
volumes: volumes:
- ./config.yaml:/config.yaml:ro - ./config.yaml:/config.yaml:ro
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
- ADMIN_ADDR=${AGENTGATEWAY_ADMIN_ADDR:-0.0.0.0:15000} - ADMIN_ADDR=${AGENTGATEWAY_ADMIN_ADDR:-0.0.0.0:15000}
command: ["-f", "/config.yaml"] command: [-f, /config.yaml]
healthcheck: healthcheck:
test: ["CMD", "agentgateway", "--version"] test: [CMD, agentgateway, --version]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,15 +4,15 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
apache: apache:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}httpd:${APACHE_VERSION:-2.4.62-alpine3.20} image: ${GLOBAL_REGISTRY:-}httpd:${APACHE_VERSION:-2.4.62-alpine3.20}
ports: ports:
- "${APACHE_HTTP_PORT_OVERRIDE:-80}:80" - '${APACHE_HTTP_PORT_OVERRIDE:-80}:80'
- "${APACHE_HTTPS_PORT_OVERRIDE:-443}:443" - '${APACHE_HTTPS_PORT_OVERRIDE:-443}:443'
volumes: volumes:
- apache_logs:/usr/local/apache2/logs - apache_logs:/usr/local/apache2/logs
- ./htdocs:/usr/local/apache2/htdocs:ro - ./htdocs:/usr/local/apache2/htdocs:ro
@@ -33,7 +33,7 @@ services:
cpus: ${APACHE_CPU_RESERVATION:-0.25} cpus: ${APACHE_CPU_RESERVATION:-0.25}
memory: ${APACHE_MEMORY_RESERVATION:-128M} memory: ${APACHE_MEMORY_RESERVATION:-128M}
healthcheck: healthcheck:
test: ["CMD", "httpd", "-t"] test: [CMD, httpd, -t]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -129,14 +129,14 @@ apisix:
etcd: etcd:
host: host:
- "http://etcd:2379" - 'http://etcd:2379'
prefix: "/apisix" prefix: /apisix
timeout: 30 timeout: 30
plugin_attr: plugin_attr:
prometheus: prometheus:
export_addr: export_addr:
ip: "0.0.0.0" ip: 0.0.0.0
port: 9091 port: 9091
``` ```

View File

@@ -129,14 +129,14 @@ apisix:
etcd: etcd:
host: host:
- "http://etcd:2379" - 'http://etcd:2379'
prefix: "/apisix" prefix: /apisix
timeout: 30 timeout: 30
plugin_attr: plugin_attr:
prometheus: prometheus:
export_addr: export_addr:
ip: "0.0.0.0" ip: 0.0.0.0
port: 9091 port: 9091
``` ```

View File

@@ -4,16 +4,16 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
apisix: apisix:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}apache/apisix:${APISIX_VERSION:-3.13.0-debian} image: ${GLOBAL_REGISTRY:-}apache/apisix:${APISIX_VERSION:-3.13.0-debian}
ports: ports:
- "${APISIX_HTTP_PORT_OVERRIDE:-9080}:9080" - '${APISIX_HTTP_PORT_OVERRIDE:-9080}:9080'
- "${APISIX_HTTPS_PORT_OVERRIDE:-9443}:9443" - '${APISIX_HTTPS_PORT_OVERRIDE:-9443}:9443'
- "${APISIX_ADMIN_PORT_OVERRIDE:-9180}:9180" - '${APISIX_ADMIN_PORT_OVERRIDE:-9180}:9180'
volumes: volumes:
- apisix_logs:/usr/local/apisix/logs - apisix_logs:/usr/local/apisix/logs
@@ -36,7 +36,7 @@ services:
memory: ${APISIX_MEMORY_RESERVATION:-256M} memory: ${APISIX_MEMORY_RESERVATION:-256M}
healthcheck: healthcheck:
test: test:
["CMD-SHELL", "curl -f http://localhost:9080/apisix/status || exit 1"] [CMD-SHELL, 'curl -f http://localhost:9080/apisix/status || exit 1']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -46,7 +46,7 @@ services:
<<: *defaults <<: *defaults
image: quay.io/coreos/etcd:${ETCD_VERSION:-v3.6.0} image: quay.io/coreos/etcd:${ETCD_VERSION:-v3.6.0}
ports: ports:
- "${ETCD_CLIENT_PORT_OVERRIDE:-2379}:2379" - '${ETCD_CLIENT_PORT_OVERRIDE:-2379}:2379'
volumes: volumes:
- etcd_data:/etcd-data - etcd_data:/etcd-data
environment: environment:
@@ -90,7 +90,7 @@ services:
cpus: ${ETCD_CPU_RESERVATION:-0.1} cpus: ${ETCD_CPU_RESERVATION:-0.1}
memory: ${ETCD_MEMORY_RESERVATION:-128M} memory: ${ETCD_MEMORY_RESERVATION:-128M}
healthcheck: healthcheck:
test: ["CMD", "etcdctl", "endpoint", "health"] test: [CMD, etcdctl, endpoint, health]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -101,7 +101,7 @@ services:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}apache/apisix-dashboard:${APISIX_DASHBOARD_VERSION:-3.0.1-alpine} image: ${GLOBAL_REGISTRY:-}apache/apisix-dashboard:${APISIX_DASHBOARD_VERSION:-3.0.1-alpine}
ports: ports:
- "${APISIX_DASHBOARD_PORT_OVERRIDE:-9000}:9000" - '${APISIX_DASHBOARD_PORT_OVERRIDE:-9000}:9000'
volumes: volumes:
- dashboard_conf:/usr/local/apisix-dashboard/conf - dashboard_conf:/usr/local/apisix-dashboard/conf
environment: environment:

View File

@@ -2,7 +2,7 @@ global:
scrape_interval: 15s scrape_interval: 15s
scrape_configs: scrape_configs:
- job_name: 'bifrost' - job_name: bifrost
metrics_path: '/metrics' metrics_path: /metrics
static_configs: static_configs:
- targets: ['bifrost:8080'] - targets: ['bifrost:8080']

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
bifrost: bifrost:
@@ -13,7 +13,7 @@ services:
volumes: volumes:
- bifrost_data:/app/data - bifrost_data:/app/data
ports: ports:
- "${BIFROST_PORT:-28080}:8080" - '${BIFROST_PORT:-28080}:8080'
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
deploy: deploy:
@@ -26,14 +26,13 @@ services:
memory: ${BIFROST_MEMORY_RESERVATION:-128M} memory: ${BIFROST_MEMORY_RESERVATION:-128M}
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost:8080/health'
"http://localhost:8080/health",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -42,27 +41,26 @@ services:
prometheus: prometheus:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}prom/prometheus:${PROMETHEUS_VERSION:-v3.8.1} image: ${GLOBAL_REGISTRY:-}prom/prometheus:${PROMETHEUS_VERSION:-v3.8.1}
profiles: ["telemetry"] profiles: [telemetry]
volumes: volumes:
- ./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: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost:9090/-/healthy'
"http://localhost:9090/-/healthy",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -79,7 +77,7 @@ services:
grafana: grafana:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}grafana/grafana:${GRAFANA_VERSION:-12.3.1} image: ${GLOBAL_REGISTRY:-}grafana/grafana:${GRAFANA_VERSION:-12.3.1}
profiles: ["telemetry"] profiles: [telemetry]
volumes: volumes:
- ./config/grafana/datasources.yml:/etc/grafana/provisioning/datasources/datasources.yml - ./config/grafana/datasources.yml:/etc/grafana/provisioning/datasources/datasources.yml
- grafana_data:/var/lib/grafana - grafana_data:/var/lib/grafana
@@ -88,17 +86,16 @@ services:
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD:-admin} - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD:-admin}
- GF_USERS_ALLOW_SIGN_UP=false - GF_USERS_ALLOW_SIGN_UP=false
ports: ports:
- "${GRAFANA_PORT:-23000}:3000" - '${GRAFANA_PORT:-23000}:3000'
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost:3000/api/health'
"http://localhost:3000/api/health",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -31,7 +31,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
budibase: budibase:
@@ -39,7 +39,7 @@ services:
image: ${GLOBAL_REGISTRY:-}budibase/budibase:${BUDIBASE_VERSION:-3.23.0} image: ${GLOBAL_REGISTRY:-}budibase/budibase:${BUDIBASE_VERSION:-3.23.0}
container_name: budibase container_name: budibase
ports: ports:
- "${BUDIBASE_PORT_OVERRIDE:-10000}:80" - '${BUDIBASE_PORT_OVERRIDE:-10000}:80'
environment: environment:
# Core settings # Core settings
- APP_PORT=${BUDIBASE_APP_PORT:-4002} - APP_PORT=${BUDIBASE_APP_PORT:-4002}
@@ -75,14 +75,13 @@ services:
condition: service_healthy condition: service_healthy
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --quiet
"--quiet", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost/health'
"http://localhost/health",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -90,11 +89,11 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
cpus: "${BUDIBASE_CPU_LIMIT:-2.0}" cpus: '${BUDIBASE_CPU_LIMIT:-2.0}'
memory: "${BUDIBASE_MEMORY_LIMIT:-2G}" memory: '${BUDIBASE_MEMORY_LIMIT:-2G}'
reservations: reservations:
cpus: "${BUDIBASE_CPU_RESERVATION:-0.5}" cpus: '${BUDIBASE_CPU_RESERVATION:-0.5}'
memory: "${BUDIBASE_MEMORY_RESERVATION:-512M}" memory: '${BUDIBASE_MEMORY_RESERVATION:-512M}'
redis: redis:
<<: *defaults <<: *defaults
@@ -104,18 +103,18 @@ services:
volumes: volumes:
- redis_data:/data - redis_data:/data
healthcheck: healthcheck:
test: ["CMD", "redis-cli", "ping"] test: [CMD, redis-cli, ping]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
deploy: deploy:
resources: resources:
limits: limits:
cpus: "${REDIS_CPU_LIMIT:-0.5}" cpus: '${REDIS_CPU_LIMIT:-0.5}'
memory: "${REDIS_MEMORY_LIMIT:-512M}" memory: '${REDIS_MEMORY_LIMIT:-512M}'
reservations: reservations:
cpus: "${REDIS_CPU_RESERVATION:-0.1}" cpus: '${REDIS_CPU_RESERVATION:-0.1}'
memory: "${REDIS_MEMORY_RESERVATION:-128M}" memory: '${REDIS_MEMORY_RESERVATION:-128M}'
volumes: volumes:
budibase_data: budibase_data:

View File

@@ -4,14 +4,14 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
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:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
shm_size: 2gb shm_size: 2gb
@@ -25,14 +25,13 @@ services:
memory: ${BYTEBOT_DESKTOP_MEMORY_RESERVATION:-2G} memory: ${BYTEBOT_DESKTOP_MEMORY_RESERVATION:-2G}
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost:9990/'
"http://localhost:9990/",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -47,7 +46,7 @@ services:
bytebot-db: bytebot-db:
condition: service_healthy condition: service_healthy
ports: ports:
- "${BYTEBOT_AGENT_PORT_OVERRIDE:-9991}:9991" - '${BYTEBOT_AGENT_PORT_OVERRIDE:-9991}:9991'
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
- BYTEBOTD_URL=http://bytebot-desktop:9990 - BYTEBOTD_URL=http://bytebot-desktop:9990
@@ -65,14 +64,13 @@ services:
memory: ${BYTEBOT_AGENT_MEMORY_RESERVATION:-512M} memory: ${BYTEBOT_AGENT_MEMORY_RESERVATION:-512M}
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost:9991/health'
"http://localhost:9991/health",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -85,7 +83,7 @@ services:
bytebot-agent: bytebot-agent:
condition: service_healthy condition: service_healthy
ports: ports:
- "${BYTEBOT_UI_PORT_OVERRIDE:-9992}:9992" - '${BYTEBOT_UI_PORT_OVERRIDE:-9992}:9992'
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
- BYTEBOT_AGENT_BASE_URL=http://localhost:9991 - BYTEBOT_AGENT_BASE_URL=http://localhost:9991
@@ -100,14 +98,13 @@ services:
memory: ${BYTEBOT_UI_MEMORY_RESERVATION:-256M} memory: ${BYTEBOT_UI_MEMORY_RESERVATION:-256M}
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --no-verbose
"--no-verbose", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost:9992/'
"http://localhost:9992/",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -133,7 +130,7 @@ services:
cpus: ${BYTEBOT_DB_CPU_RESERVATION:-0.25} cpus: ${BYTEBOT_DB_CPU_RESERVATION:-0.25}
memory: ${BYTEBOT_DB_MEMORY_RESERVATION:-256M} memory: ${BYTEBOT_DB_MEMORY_RESERVATION:-256M}
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"] test: [CMD-SHELL, pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -57,7 +57,7 @@ Please modify the `.env` file as needed for your use case.
```sql ```sql
-- Create a keyspace -- Create a keyspace
CREATE KEYSPACE test_keyspace CREATE KEYSPACE test_keyspace
WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
-- Use the keyspace -- Use the keyspace
@@ -71,7 +71,7 @@ CREATE TABLE users (
); );
-- Insert data -- Insert data
INSERT INTO users (id, name, email) INSERT INTO users (id, name, email)
VALUES (uuid(), 'John Doe', 'john@example.com'); VALUES (uuid(), 'John Doe', 'john@example.com');
-- Query data -- Query data

View File

@@ -57,7 +57,7 @@
```sql ```sql
-- 创建键空间 -- 创建键空间
CREATE KEYSPACE test_keyspace CREATE KEYSPACE test_keyspace
WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
-- 使用键空间 -- 使用键空间
@@ -71,7 +71,7 @@ CREATE TABLE users (
); );
-- 插入数据 -- 插入数据
INSERT INTO users (id, name, email) INSERT INTO users (id, name, email)
VALUES (uuid(), 'John Doe', 'john@example.com'); VALUES (uuid(), 'John Doe', 'john@example.com');
-- 查询数据 -- 查询数据

View File

@@ -4,15 +4,15 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
cassandra: cassandra:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}cassandra:${CASSANDRA_VERSION:-5.0.2} image: ${GLOBAL_REGISTRY:-}cassandra:${CASSANDRA_VERSION:-5.0.2}
ports: ports:
- "${CASSANDRA_CQL_PORT_OVERRIDE:-9042}:9042" - '${CASSANDRA_CQL_PORT_OVERRIDE:-9042}:9042'
- "${CASSANDRA_THRIFT_PORT_OVERRIDE:-9160}:9160" - '${CASSANDRA_THRIFT_PORT_OVERRIDE:-9160}:9160'
volumes: volumes:
- cassandra_data:/var/lib/cassandra - cassandra_data:/var/lib/cassandra
- cassandra_logs:/var/log/cassandra - cassandra_logs:/var/log/cassandra
@@ -39,7 +39,7 @@ services:
cpus: ${CASSANDRA_CPU_RESERVATION:-0.50} cpus: ${CASSANDRA_CPU_RESERVATION:-0.50}
memory: ${CASSANDRA_MEMORY_RESERVATION:-1G} memory: ${CASSANDRA_MEMORY_RESERVATION:-1G}
healthcheck: healthcheck:
test: ["CMD-SHELL", "cqlsh -e 'DESCRIBE CLUSTER'"] test: [CMD-SHELL, "cqlsh -e 'DESCRIBE CLUSTER'"]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 5 retries: 5

View File

@@ -4,15 +4,15 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
clash: clash:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}centralx/clash:${CLASH_VERSION:-1.18.0} image: ${GLOBAL_REGISTRY:-}centralx/clash:${CLASH_VERSION:-1.18.0}
ports: ports:
- "7880:80" - '7880:80'
- "7890:7890" - '7890:7890'
volumes: volumes:
- ./config.yaml:/home/runner/.config/clash/config.yaml - ./config.yaml:/home/runner/.config/clash/config.yaml
environment: environment:
@@ -26,7 +26,7 @@ services:
cpus: ${CLASH_CPU_RESERVATION:-0.25} cpus: ${CLASH_CPU_RESERVATION:-0.25}
memory: ${CLASH_MEMORY_RESERVATION:-256M} memory: ${CLASH_MEMORY_RESERVATION:-256M}
healthcheck: healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:80/"] test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:80/']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
clickhouse: clickhouse:
@@ -24,10 +24,10 @@ services:
# - ./config.xml:/etc/clickhouse-server/config.d/config.xml # - ./config.xml:/etc/clickhouse-server/config.d/config.xml
# - ./users.xml:/etc/clickhouse-server/users.d/users.xml # - ./users.xml:/etc/clickhouse-server/users.d/users.xml
ports: ports:
- "${CLICKHOUSE_HTTP_PORT_OVERRIDE:-8123}:8123" - '${CLICKHOUSE_HTTP_PORT_OVERRIDE:-8123}:8123'
- "${CLICKHOUSE_NATIVE_PORT_OVERRIDE:-9000}:9000" - '${CLICKHOUSE_NATIVE_PORT_OVERRIDE:-9000}:9000'
- "${CLICKHOUSE_MYSQL_PORT_OVERRIDE:-9004}:9004" - '${CLICKHOUSE_MYSQL_PORT_OVERRIDE:-9004}:9004'
- "${CLICKHOUSE_POSTGRES_PORT_OVERRIDE:-9005}:9005" - '${CLICKHOUSE_POSTGRES_PORT_OVERRIDE:-9005}:9005'
ulimits: ulimits:
nofile: nofile:
soft: 262144 soft: 262144
@@ -42,10 +42,9 @@ services:
memory: ${CLICKHOUSE_MEMORY_RESERVATION:-1G} memory: ${CLICKHOUSE_MEMORY_RESERVATION:-1G}
healthcheck: healthcheck:
test: test:
[ - CMD-SHELL
"CMD-SHELL", - 'wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1'
"wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -29,7 +29,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
conductor-server: conductor-server:
@@ -40,8 +40,8 @@ services:
dockerfile: Dockerfile dockerfile: Dockerfile
container_name: conductor-server container_name: conductor-server
ports: ports:
- "${CONDUCTOR_SERVER_PORT_OVERRIDE:-8080}:8080" - '${CONDUCTOR_SERVER_PORT_OVERRIDE:-8080}:8080'
- "${CONDUCTOR_UI_PORT_OVERRIDE:-5000}:5000" - '${CONDUCTOR_UI_PORT_OVERRIDE:-5000}:5000'
environment: environment:
# Database configuration # Database configuration
- spring.datasource.url=jdbc:postgresql://postgres:5432/${POSTGRES_DB} - spring.datasource.url=jdbc:postgresql://postgres:5432/${POSTGRES_DB}
@@ -67,14 +67,13 @@ services:
condition: service_healthy condition: service_healthy
healthcheck: healthcheck:
test: test:
[ - CMD
"CMD", - wget
"wget", - --quiet
"--quiet", - --tries=1
"--tries=1", - --spider
"--spider", - 'http://localhost:8080/health'
"http://localhost:8080/health",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 5 retries: 5
@@ -82,11 +81,11 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
cpus: "${CONDUCTOR_CPU_LIMIT:-2.0}" cpus: '${CONDUCTOR_CPU_LIMIT:-2.0}'
memory: "${CONDUCTOR_MEMORY_LIMIT:-2G}" memory: '${CONDUCTOR_MEMORY_LIMIT:-2G}'
reservations: reservations:
cpus: "${CONDUCTOR_CPU_RESERVATION:-0.5}" cpus: '${CONDUCTOR_CPU_RESERVATION:-0.5}'
memory: "${CONDUCTOR_MEMORY_RESERVATION:-512M}" memory: '${CONDUCTOR_MEMORY_RESERVATION:-512M}'
postgres: postgres:
<<: *defaults <<: *defaults
@@ -102,21 +101,20 @@ services:
- postgres_data:/var/lib/postgresql/data - postgres_data:/var/lib/postgresql/data
healthcheck: healthcheck:
test: test:
[ - CMD-SHELL
"CMD-SHELL", - 'pg_isready -U ${POSTGRES_USER:-conductor} -d ${POSTGRES_DB:-conductor}'
"pg_isready -U ${POSTGRES_USER:-conductor} -d ${POSTGRES_DB:-conductor}",
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
deploy: deploy:
resources: resources:
limits: limits:
cpus: "${POSTGRES_CPU_LIMIT:-1.0}" cpus: '${POSTGRES_CPU_LIMIT:-1.0}'
memory: "${POSTGRES_MEMORY_LIMIT:-1G}" memory: '${POSTGRES_MEMORY_LIMIT:-1G}'
reservations: reservations:
cpus: "${POSTGRES_CPU_RESERVATION:-0.25}" cpus: '${POSTGRES_CPU_RESERVATION:-0.25}'
memory: "${POSTGRES_MEMORY_RESERVATION:-256M}" memory: '${POSTGRES_MEMORY_RESERVATION:-256M}'
elasticsearch: elasticsearch:
<<: *defaults <<: *defaults
@@ -131,7 +129,7 @@ services:
- elasticsearch_data:/usr/share/elasticsearch/data - elasticsearch_data:/usr/share/elasticsearch/data
healthcheck: healthcheck:
test: test:
["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1"] [CMD-SHELL, 'curl -f http://localhost:9200/_cluster/health || exit 1']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 5 retries: 5
@@ -139,11 +137,11 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
cpus: "${ELASTICSEARCH_CPU_LIMIT:-2.0}" cpus: '${ELASTICSEARCH_CPU_LIMIT:-2.0}'
memory: "${ELASTICSEARCH_MEMORY_LIMIT:-2G}" memory: '${ELASTICSEARCH_MEMORY_LIMIT:-2G}'
reservations: reservations:
cpus: "${ELASTICSEARCH_CPU_RESERVATION:-0.5}" cpus: '${ELASTICSEARCH_CPU_RESERVATION:-0.5}'
memory: "${ELASTICSEARCH_MEMORY_RESERVATION:-1G}" memory: '${ELASTICSEARCH_MEMORY_RESERVATION:-1G}'
volumes: volumes:
postgres_data: postgres_data:

View File

@@ -4,18 +4,18 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
consul: consul:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}consul:${CONSUL_VERSION:-1.20.3} image: ${GLOBAL_REGISTRY:-}consul:${CONSUL_VERSION:-1.20.3}
ports: ports:
- "${CONSUL_HTTP_PORT_OVERRIDE:-8500}:8500" - '${CONSUL_HTTP_PORT_OVERRIDE:-8500}:8500'
- "${CONSUL_DNS_PORT_OVERRIDE:-8600}:8600/udp" - '${CONSUL_DNS_PORT_OVERRIDE:-8600}:8600/udp'
- "${CONSUL_SERF_LAN_PORT_OVERRIDE:-8301}:8301" - '${CONSUL_SERF_LAN_PORT_OVERRIDE:-8301}:8301'
- "${CONSUL_SERF_WAN_PORT_OVERRIDE:-8302}:8302" - '${CONSUL_SERF_WAN_PORT_OVERRIDE:-8302}:8302'
- "${CONSUL_SERVER_RPC_PORT_OVERRIDE:-8300}:8300" - '${CONSUL_SERVER_RPC_PORT_OVERRIDE:-8300}:8300'
volumes: volumes:
- consul_data:/consul/data - consul_data:/consul/data
- consul_config:/consul/config - consul_config:/consul/config
@@ -44,7 +44,7 @@ services:
cpus: ${CONSUL_CPU_RESERVATION:-0.25} cpus: ${CONSUL_CPU_RESERVATION:-0.25}
memory: ${CONSUL_MEMORY_RESERVATION:-128M} memory: ${CONSUL_MEMORY_RESERVATION:-128M}
healthcheck: healthcheck:
test: ["CMD-SHELL", "consul members"] test: [CMD-SHELL, consul members]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
dnsmasq: dnsmasq:
@@ -13,8 +13,8 @@ services:
volumes: volumes:
- ./dnsmasq.conf:/etc/dnsmasq.conf:ro - ./dnsmasq.conf:/etc/dnsmasq.conf:ro
ports: ports:
- "${DNSMASQ_DNS_PORT_OVERRIDE:-53}:53/udp" - '${DNSMASQ_DNS_PORT_OVERRIDE:-53}:53/udp'
- "${DNSMASQ_DNS_PORT_OVERRIDE:-53}:53/tcp" - '${DNSMASQ_DNS_PORT_OVERRIDE:-53}:53/tcp'
environment: environment:
- TZ=${TZ:-UTC} - TZ=${TZ:-UTC}
cap_drop: cap_drop:
@@ -23,7 +23,7 @@ services:
- NET_ADMIN - NET_ADMIN
- NET_BIND_SERVICE - NET_BIND_SERVICE
healthcheck: healthcheck:
test: ["CMD", "nslookup", "-timeout=1", "localhost", "127.0.0.1"] test: [CMD, nslookup, -timeout=1, localhost, 127.0.0.1]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,15 +4,15 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
docker_android: docker_android:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}halimqarroum/docker-android:${DOCKER_ANDROID_VERSION:-api-33} image: ${GLOBAL_REGISTRY:-}halimqarroum/docker-android:${DOCKER_ANDROID_VERSION:-api-33}
ports: ports:
- "${DOCKER_ANDROID_ADB_PORT_OVERRIDE:-5555}:5555" - '${DOCKER_ANDROID_ADB_PORT_OVERRIDE:-5555}:5555'
- "${DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE:-5554}:5554" - '${DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE:-5554}:5554'
volumes: volumes:
- docker_android_data:/data - docker_android_data:/data
- ${DOCKER_ANDROID_KEYS_DIR:-./keys}:/keys:ro - ${DOCKER_ANDROID_KEYS_DIR:-./keys}:/keys:ro
@@ -24,9 +24,9 @@ services:
- MEMORY=${DOCKER_ANDROID_MEMORY:-8192} - MEMORY=${DOCKER_ANDROID_MEMORY:-8192}
- CORES=${DOCKER_ANDROID_CORES:-4} - CORES=${DOCKER_ANDROID_CORES:-4}
devices: devices:
- "${DOCKER_ANDROID_KVM_DEVICE:-/dev/kvm}:/dev/kvm" - '${DOCKER_ANDROID_KVM_DEVICE:-/dev/kvm}:/dev/kvm'
healthcheck: healthcheck:
test: ["CMD-SHELL", "adb devices 2>/dev/null | grep -q emulator"] test: [CMD-SHELL, 'adb devices 2>/dev/null | grep -q emulator']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 5 retries: 5
@@ -46,8 +46,8 @@ services:
- gpu - gpu
image: ${GLOBAL_REGISTRY:-}halimqarroum/docker-android:${DOCKER_ANDROID_GPU_VERSION:-api-33-cuda} image: ${GLOBAL_REGISTRY:-}halimqarroum/docker-android:${DOCKER_ANDROID_GPU_VERSION:-api-33-cuda}
ports: ports:
- "${DOCKER_ANDROID_ADB_PORT_OVERRIDE:-5555}:5555" - '${DOCKER_ANDROID_ADB_PORT_OVERRIDE:-5555}:5555'
- "${DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE:-5554}:5554" - '${DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE:-5554}:5554'
volumes: volumes:
- docker_android_data:/data - docker_android_data:/data
- ${DOCKER_ANDROID_KEYS_DIR:-./keys}:/keys:ro - ${DOCKER_ANDROID_KEYS_DIR:-./keys}:/keys:ro
@@ -59,9 +59,9 @@ services:
- MEMORY=${DOCKER_ANDROID_MEMORY:-8192} - MEMORY=${DOCKER_ANDROID_MEMORY:-8192}
- CORES=${DOCKER_ANDROID_CORES:-4} - CORES=${DOCKER_ANDROID_CORES:-4}
devices: devices:
- "${DOCKER_ANDROID_KVM_DEVICE:-/dev/kvm}:/dev/kvm" - '${DOCKER_ANDROID_KVM_DEVICE:-/dev/kvm}:/dev/kvm'
healthcheck: healthcheck:
test: ["CMD-SHELL", "adb devices 2>/dev/null | grep -q emulator"] test: [CMD-SHELL, 'adb devices 2>/dev/null | grep -q emulator']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 5 retries: 5

View File

@@ -4,7 +4,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
registry: registry:
@@ -33,7 +33,7 @@ services:
cpus: ${REGISTRY_CPU_RESERVATION:-0.1} cpus: ${REGISTRY_CPU_RESERVATION:-0.1}
memory: ${REGISTRY_MEMORY_RESERVATION:-128M} memory: ${REGISTRY_MEMORY_RESERVATION:-128M}
healthcheck: healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5000/"] test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:5000/']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -4,14 +4,14 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
dockge: dockge:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}louislam/dockge:${DOCKGE_VERSION:-1} image: ${GLOBAL_REGISTRY:-}louislam/dockge:${DOCKGE_VERSION:-1}
ports: ports:
- "${PORT_OVERRIDE:-5001}:5001" - '${PORT_OVERRIDE:-5001}:5001'
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- dockge_data:/app/data - dockge_data:/app/data
@@ -30,7 +30,7 @@ services:
cpus: ${DOCKGE_CPU_RESERVATION:-0.25} cpus: ${DOCKGE_CPU_RESERVATION:-0.25}
memory: ${DOCKGE_MEMORY_RESERVATION:-256M} memory: ${DOCKGE_MEMORY_RESERVATION:-256M}
healthcheck: healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5001/"] test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:5001/']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

View File

@@ -8,7 +8,7 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
# Doris Frontend (FE) node # Doris Frontend (FE) node
@@ -17,10 +17,10 @@ services:
image: ${GLOBAL_REGISTRY:-}apache/doris:${DORIS_VERSION:-3.0.0}-fe-x86_64 image: ${GLOBAL_REGISTRY:-}apache/doris:${DORIS_VERSION:-3.0.0}-fe-x86_64
hostname: doris-fe hostname: doris-fe
ports: ports:
- "${DORIS_FE_QUERY_PORT_OVERRIDE:-9030}:9030" - '${DORIS_FE_QUERY_PORT_OVERRIDE:-9030}:9030'
- "${DORIS_FE_HTTP_PORT_OVERRIDE:-8030}:8030" - '${DORIS_FE_HTTP_PORT_OVERRIDE:-8030}:8030'
- "${DORIS_FE_RPC_PORT_OVERRIDE:-9020}:9020" - '${DORIS_FE_RPC_PORT_OVERRIDE:-9020}:9020'
- "${DORIS_FE_EDIT_LOG_PORT_OVERRIDE:-9010}:9010" - '${DORIS_FE_EDIT_LOG_PORT_OVERRIDE:-9010}:9010'
volumes: volumes:
- doris_fe_data:/opt/apache-doris/fe/doris-meta - doris_fe_data:/opt/apache-doris/fe/doris-meta
environment: environment:
@@ -28,7 +28,7 @@ services:
- FE_SERVERS=doris-fe:9010 - FE_SERVERS=doris-fe:9010
- FRONTEND_REPLICAS=1 - FRONTEND_REPLICAS=1
healthcheck: healthcheck:
test: ["CMD-SHELL", "curl -sf http://localhost:8030/api/v2/system/info || exit 1"] test: [CMD-SHELL, 'curl -sf http://localhost:8030/api/v2/system/info || exit 1']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 5 retries: 5
@@ -48,9 +48,9 @@ services:
image: ${GLOBAL_REGISTRY:-}apache/doris:${DORIS_VERSION:-3.0.0}-be-x86_64 image: ${GLOBAL_REGISTRY:-}apache/doris:${DORIS_VERSION:-3.0.0}-be-x86_64
hostname: doris-be hostname: doris-be
ports: ports:
- "${DORIS_BE_HEARTBEAT_PORT_OVERRIDE:-9050}:9050" - '${DORIS_BE_HEARTBEAT_PORT_OVERRIDE:-9050}:9050'
- "${DORIS_BE_THRIFT_RPC_PORT_OVERRIDE:-9060}:9060" - '${DORIS_BE_THRIFT_RPC_PORT_OVERRIDE:-9060}:9060'
- "${DORIS_BE_HTTP_PORT_OVERRIDE:-8040}:8040" - '${DORIS_BE_HTTP_PORT_OVERRIDE:-8040}:8040'
volumes: volumes:
- doris_be_data:/opt/apache-doris/be/storage - doris_be_data:/opt/apache-doris/be/storage
environment: environment:
@@ -60,7 +60,7 @@ services:
doris-fe: doris-fe:
condition: service_healthy condition: service_healthy
healthcheck: healthcheck:
test: ["CMD-SHELL", "curl -sf http://localhost:8040/api/health || exit 1"] test: [CMD-SHELL, 'curl -sf http://localhost:8040/api/health || exit 1']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 5 retries: 5

View File

@@ -4,13 +4,13 @@ x-defaults: &defaults
driver: json-file driver: json-file
options: options:
max-size: 100m max-size: 100m
max-file: "3" max-file: '3'
services: services:
duckdb: duckdb:
<<: *defaults <<: *defaults
image: ${GLOBAL_REGISTRY:-}davidgasquez/duckdb:${DUCKDB_VERSION:-v1.1.3} image: ${GLOBAL_REGISTRY:-}davidgasquez/duckdb:${DUCKDB_VERSION:-v1.1.3}
command: ["duckdb", "/data/duckdb.db"] command: [duckdb, /data/duckdb.db]
stdin_open: true stdin_open: true
tty: true tty: true
environment: environment:
@@ -28,7 +28,7 @@ services:
cpus: ${DUCKDB_CPU_RESERVATION:-0.5} cpus: ${DUCKDB_CPU_RESERVATION:-0.5}
memory: ${DUCKDB_MEMORY_RESERVATION:-512M} memory: ${DUCKDB_MEMORY_RESERVATION:-512M}
healthcheck: healthcheck:
test: ["CMD-SHELL", "duckdb /data/duckdb.db -c 'SELECT 1' || exit 1"] test: [CMD-SHELL, "duckdb /data/duckdb.db -c 'SELECT 1' || exit 1"]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3

Some files were not shown because too many files have changed in this diff Show More