From 7e14b01b78474efd4fe554602ae5ce4959f69951 Mon Sep 17 00:00:00 2001 From: Sun-ZhenXing <1006925066@qq.com> Date: Mon, 23 Feb 2026 17:41:05 +0800 Subject: [PATCH] style: lint code --- .compose-template.yaml | 20 +- .gitignore | 3 + .vscode/extensions.json | 4 +- .vscode/settings.json | 91 +- README.md | 2 +- README.zh.md | 2 +- apps/bolt-diy/docker-compose.yaml | 19 +- apps/buildingai/docker-compose.yaml | 14 +- apps/deeptutor/README.md | 4 +- apps/deeptutor/README.zh.md | 4 +- apps/deeptutor/docker-compose.yaml | 23 +- apps/dify/docker-compose.yaml | 38 +- apps/easy-dataset/README.md | 2 +- apps/easy-dataset/README.zh.md | 2 +- apps/easy-dataset/docker-compose.yaml | 6 +- apps/langflow/README.md | 2 +- apps/langflow/README.zh.md | 2 +- apps/langflow/docker-compose.yaml | 24 +- apps/langfuse/README.md | 2 +- apps/langfuse/docker-compose.yaml | 42 +- apps/n8n/docker-compose.yaml | 6 +- apps/nanobot/docker-compose.yaml | 6 +- apps/openclaw/README.md | 2 +- apps/openclaw/README.zh.md | 2 +- apps/openclaw/docker-compose.yaml | 14 +- apps/opencoze/docker-compose.yaml | 2 +- apps/openlit/README.md | 2 +- apps/openlit/README.zh.md | 2 +- apps/openlit/docker-compose.yaml | 16 +- apps/openobserve/docker-compose.yaml | 6 +- apps/opensandbox/config.toml | 18 +- apps/opensandbox/docker-compose.yaml | 6 +- apps/sim/docker-compose.yaml | 20 +- .../docker-compose.yaml | 6 +- apps/stirling-pdf/docker-compose.yaml | 6 +- builds/debian-dind/docker-compose.yaml | 10 +- builds/goose/docker-compose.yaml | 2 +- builds/io-paint/docker-compose.yaml | 4 +- builds/k3s-inside-dind/docker-compose.yaml | 8 +- builds/microsandbox/docker-compose.yaml | 6 +- builds/mineru/docker-compose.yaml | 46 +- eslint.config.mjs | 26 + mcp-servers/api-gateway/docker-compose.yaml | 6 +- .../arxiv-mcp-server/docker-compose.yaml | 6 +- mcp-servers/basic-memory/docker-compose.yaml | 6 +- mcp-servers/clickhouse/docker-compose.yaml | 6 +- mcp-servers/docker/docker-compose.yaml | 6 +- mcp-servers/dockerhub/docker-compose.yaml | 6 +- mcp-servers/e2b/docker-compose.yaml | 6 +- mcp-servers/elevenlabs/docker-compose.yaml | 8 +- mcp-servers/fetch/docker-compose.yaml | 6 +- mcp-servers/filesystem/docker-compose.yaml | 6 +- mcp-servers/firecrawl/docker-compose.yaml | 8 +- mcp-servers/grafana/docker-compose.yaml | 10 +- mcp-servers/markdownify/docker-compose.yaml | 6 +- mcp-servers/markitdown/docker-compose.yaml | 6 +- mcp-servers/memory/docker-compose.yaml | 6 +- mcp-servers/mongodb/docker-compose.yaml | 10 +- mcp-servers/neo4j-cypher/docker-compose.yaml | 6 +- mcp-servers/neo4j-memory/docker-compose.yaml | 6 +- mcp-servers/notion/docker-compose.yaml | 6 +- .../openapi-schema/docker-compose.yaml | 6 +- mcp-servers/openapi/docker-compose.yaml | 6 +- mcp-servers/openweather/docker-compose.yaml | 6 +- mcp-servers/paper-search/docker-compose.yaml | 6 +- mcp-servers/playwright/docker-compose.yaml | 8 +- mcp-servers/redis/docker-compose.yaml | 10 +- .../rust-mcp-filesystem/docker-compose.yaml | 6 +- .../sequentialthinking/docker-compose.yaml | 6 +- mcp-servers/sqlite/docker-compose.yaml | 6 +- mcp-servers/tavily/docker-compose.yaml | 6 +- .../text-to-graphql/docker-compose.yaml | 6 +- mcp-servers/time/docker-compose.yaml | 6 +- mcp-servers/wolfram-alpha/docker-compose.yaml | 6 +- .../youtube-transcript/docker-compose.yaml | 8 +- package.json | 23 + pnpm-lock.yaml | 2673 +++++++++++++++++ src/agentgateway/config.yaml | 6 +- src/agentgateway/docker-compose.yaml | 10 +- src/apache/docker-compose.yaml | 8 +- src/apisix/README.md | 6 +- src/apisix/README.zh.md | 6 +- src/apisix/docker-compose.yaml | 16 +- src/bifrost-gateway/config/prometheus.yml | 4 +- src/bifrost-gateway/docker-compose.yaml | 65 +- src/budibase/docker-compose.yaml | 37 +- src/bytebot/docker-compose.yaml | 55 +- src/cassandra/README.md | 4 +- src/cassandra/README.zh.md | 4 +- src/cassandra/docker-compose.yaml | 8 +- src/clash/docker-compose.yaml | 8 +- src/clickhouse/docker-compose.yaml | 17 +- src/conductor/docker-compose.yaml | 54 +- src/consul/docker-compose.yaml | 14 +- src/dnsmasq/docker-compose.yaml | 8 +- src/docker-android/docker-compose.yaml | 18 +- src/docker-registry/docker-compose.yaml | 4 +- src/dockge/docker-compose.yaml | 6 +- src/doris/docker-compose.yaml | 20 +- src/duckdb/docker-compose.yaml | 6 +- src/elasticsearch/docker-compose.yaml | 10 +- src/etcd/docker-compose.yaml | 8 +- src/falkordb/docker-compose.yaml | 8 +- src/firecrawl/docker-compose.yaml | 25 +- src/flink/docker-compose.yaml | 10 +- src/flowise/docker-compose.yaml | 15 +- src/frpc/docker-compose.yaml | 17 +- src/frps/docker-compose.yaml | 15 +- src/gitea-runner/README.md | 4 +- src/gitea-runner/README.zh.md | 4 +- src/gitea-runner/config.yaml | 18 +- src/gitea-runner/docker-compose.yaml | 2 +- src/gitea/docker-compose.yaml | 23 +- src/gitlab-runner/README.md | 35 +- src/gitlab-runner/README.zh.md | 35 +- src/gitlab-runner/docker-compose.yaml | 2 +- src/gitlab/docker-compose.yaml | 10 +- src/gpustack/README.md | 8 +- src/gpustack/README.zh.md | 8 +- src/gpustack/docker-compose.yaml | 10 +- src/grafana/docker-compose.yaml | 21 +- src/halo/docker-compose.yaml | 8 +- src/harbor/docker-compose.yaml | 16 +- src/hbase/docker-compose.yaml | 14 +- src/influxdb/docker-compose.yaml | 6 +- src/inngest/docker-compose.yaml | 28 +- src/jenkins/README.md | 8 +- src/jenkins/README.zh.md | 8 +- src/jenkins/docker-compose.yaml | 10 +- src/kafka/docker-compose.yaml | 19 +- src/kestra/docker-compose.yaml | 28 +- src/kibana/README.md | 4 +- src/kibana/README.zh.md | 4 +- src/kibana/docker-compose.yaml | 6 +- src/kodbox/docker-compose.yaml | 10 +- src/kong/docker-compose.yaml | 18 +- src/libreoffice/docker-compose.yaml | 8 +- src/libsql/docker-compose.yaml | 14 +- src/litellm/docker-compose.yaml | 22 +- src/litellm/prometheus.yml | 4 +- src/llama.cpp/docker-compose.yaml | 127 +- src/lmdeploy/docker-compose.yaml | 10 +- src/logstash/docker-compose.yaml | 12 +- src/loki/README.md | 4 +- src/loki/README.zh.md | 4 +- src/loki/docker-compose.yaml | 8 +- src/loki/loki-config.yaml | 2 +- src/mariadb-galera/docker-compose.yaml | 10 +- src/memos/docker-compose.yaml | 6 +- .../docker-compose.yaml | 31 +- src/milvus-standalone/docker-compose.yaml | 35 +- .../docker-compose.yaml | 38 +- src/minio/docker-compose.yaml | 8 +- src/mlflow/docker-compose.yaml | 20 +- .../docker-compose.yaml | 10 +- src/mongodb-replicaset/docker-compose.yaml | 12 +- src/mongodb-standalone/docker-compose.yaml | 7 +- src/mysql/docker-compose.yaml | 6 +- src/nacos/docker-compose.yaml | 10 +- src/nebulagraph/README.md | 2 +- src/nebulagraph/docker-compose.yaml | 26 +- src/neo4j/docker-compose.yaml | 8 +- src/netdata/docker-compose.yaml | 4 +- src/nexa-sdk/docker-compose.yaml | 10 +- src/nginx/docker-compose.yaml | 21 +- src/node-exporter/README.md | 2 +- src/node-exporter/README.zh.md | 2 +- src/node-exporter/docker-compose.yaml | 12 +- src/oceanbase/docker-compose.yaml | 8 +- src/odoo/docker-compose.yaml | 21 +- src/ollama/docker-compose.yaml | 21 +- src/open-webui/docker-compose.yaml | 4 +- src/opencode/docker-compose.yaml | 19 +- src/opencut/README.md | Bin 9920 -> 9931 bytes src/opencut/docker-compose.yaml | 20 +- src/openlist/docker-compose.yaml | 19 +- src/opensearch/docker-compose.yaml | 27 +- src/otel-collector/README.md | 14 +- src/otel-collector/README.zh.md | 14 +- src/otel-collector/docker-compose.yaml | 35 +- src/overleaf/docker-compose.yaml | 10 +- src/phoenix/.env.example | 6 +- src/phoenix/README.md | 2 +- src/phoenix/README.zh.md | 2 +- src/phoenix/docker-compose.yaml | 27 +- src/pingap/docker-compose.yaml | 8 +- src/pingora-proxy-manager/docker-compose.yaml | 18 +- src/pocketbase/docker-compose.yaml | 4 +- src/podman/docker-compose.yaml | 12 +- src/pogocache/docker-compose.yaml | 6 +- src/portainer/docker-compose.yaml | 8 +- src/portkey-gateway/docker-compose.yaml | 6 +- src/postgres/docker-compose.yaml | 6 +- src/prometheus/README.md | 8 +- src/prometheus/README.zh.md | 8 +- src/prometheus/docker-compose.yaml | 39 +- src/pulsar/docker-compose.yaml | 20 +- src/pytorch/docker-compose.yaml | 8 +- src/qdrant/docker-compose.yaml | 8 +- src/rabbitmq/docker-compose.yaml | 4 +- src/ray/docker-compose.yaml | 10 +- src/redis-cluster/docker-compose.yaml | 26 +- src/redis/docker-compose.yaml | 6 +- src/redpanda/README.md | 4 +- src/redpanda/README.zh.md | 2 +- src/redpanda/docker-compose.yaml | 16 +- src/renovate/README.md | 16 +- src/renovate/README.zh.md | 16 +- src/renovate/config.js | 2 +- src/renovate/docker-compose.yaml | 8 +- src/restate-cluster/README.md | 4 +- src/restate-cluster/README.zh.md | 4 +- src/restate-cluster/docker-compose.yaml | 40 +- src/restate/docker-compose.yaml | 12 +- src/rocketmq/docker-compose.yaml | 24 +- src/searxng/docker-compose.yaml | 10 +- src/selenium/README.md | 27 +- src/selenium/README.zh.md | 27 +- src/selenium/docker-compose.yaml | 8 +- src/signoz/README.md | 6 +- src/signoz/README.zh.md | 6 +- src/signoz/docker-compose.yaml | 78 +- src/tempo/docker-compose.yaml | 20 +- src/temporal/README.md | 8 +- src/temporal/README.zh.md | 8 +- src/temporal/docker-compose.yaml | 36 +- src/tidb/docker-compose.yaml | 16 +- src/tikv/README.md | 4 +- src/tikv/README.zh.md | 4 +- src/tikv/docker-compose.yaml | 14 +- src/trailbase/docker-compose.yaml | 6 +- src/trigger-dev/docker-compose.yaml | 28 +- src/valkey-cluster/docker-compose.yaml | 36 +- src/valkey/docker-compose.yaml | 6 +- src/verdaccio/docker-compose.yaml | 6 +- src/vllm/README.md | 18 +- src/vllm/README.zh.md | 18 +- src/vllm/docker-compose.yaml | 14 +- src/windmill/docker-compose.yaml | 36 +- src/zookeeper/docker-compose.yaml | 8 +- 240 files changed, 4301 insertions(+), 1539 deletions(-) create mode 100644 eslint.config.mjs create mode 100644 package.json create mode 100644 pnpm-lock.yaml diff --git a/.compose-template.yaml b/.compose-template.yaml index edc65e8..4625364 100644 --- a/.compose-template.yaml +++ b/.compose-template.yaml @@ -8,27 +8,27 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' -#! Example service structure: +# ! Example service structure: services: service-name: <<: *defaults - #! Use ${GLOBAL_REGISTRY} for a global registry prefix if defined - #! If not pulls from Docker Hub by default, use ${GHCR_REGISTRY} for GitHub Container Registry, etc. - #! e.g. ${GLOBAL_REGISTRY:-}httpd:${APACHE_VERSION:-2.4.62-alpine3.20} - #! Use ${SERVICE_NAME_VERSION} to specify the image version, e.g., 3.2.1 + # ! Use ${GLOBAL_REGISTRY} for a global registry prefix if defined + # ! If not pulls from Docker Hub by default, use ${GHCR_REGISTRY} for GitHub Container Registry, etc. + # ! e.g. ${GLOBAL_REGISTRY:-}httpd:${APACHE_VERSION:-2.4.62-alpine3.20} + # ! Use ${SERVICE_NAME_VERSION} to specify the image version, e.g., 3.2.1 image: ${GLOBAL_REGISTRY:-}service-image:${SERVICE_NAME_VERSION:-3.2.1} - #! Do not add container_name to allow scaling and avoid name conflicts + # ! Do not add container_name to allow scaling and avoid name conflicts ports: - - "${SERVICE_NAME_PORT_OVERRIDE:-8080}:8080" + - '${SERVICE_NAME_PORT_OVERRIDE:-8080}:8080' volumes: - service_name_data:/data environment: - - TZ=${TZ:-UTC} #! Set timezone, default to UTC + - TZ=${TZ:-UTC} # ! Set timezone, default to UTC - ENV_VAR=${ENV_VAR:-default_value} healthcheck: - test: ["CMD", "command", "to", "check", "health"] + test: [CMD, command, to, check, health] interval: 30s timeout: 10s retries: 3 diff --git a/.gitignore b/.gitignore index 08c3b72..1e772c4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +# Node.js +node_modules/ + # Env .env .env.* diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 0efce53..667a0e1 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,7 +1,7 @@ { "recommendations": [ "yzhang.markdown-all-in-one", - "DavidAnson.vscode-markdownlint", - "redhat.vscode-yaml" + "dbaeumer.vscode-eslint", + "ms-azuretools.vscode-containers" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 5b84764..a079e5a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,9 @@ { + // Disable Prettier, use ESLint for formatting instead "prettier.enable": false, + // Disable default formatOnSave, use ESLint fixOnSave "editor.formatOnSave": false, + // Markdown settings "[markdown]": { "editor.wordWrap": "on", "editor.formatOnSave": true, @@ -13,15 +16,97 @@ "strings": "off" } }, + // YAML settings: auto-fix ESLint issues on save "[yaml]": { - "editor.formatOnSave": true + "editor.formatOnSave": false, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit" + } }, "[dockerfile]": { "editor.formatOnSave": true }, + // Docker Compose settings "[dockercompose]": { - "editor.formatOnSave": true + "editor.formatOnSave": false, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit" + } }, + // File EOL configuration "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" + ] } diff --git a/README.md b/README.md index 531f62e..82306d9 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,7 @@ These services require building custom Docker images from source. | [Odoo](./src/odoo) | 19.0 | | [Ollama](./src/ollama) | 0.14.3 | | [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 | | [Open WebUI Rust](./src/open-webui-rust) | latest | | [OpenCode](./src/opencode) | 1.1.27 | diff --git a/README.zh.md b/README.zh.md index a9379d6..7eddb96 100644 --- a/README.zh.md +++ b/README.zh.md @@ -105,7 +105,7 @@ Compose Anything 通过提供一组高质量的 Docker Compose 配置文件, | [Odoo](./src/odoo) | 19.0 | | [Ollama](./src/ollama) | 0.14.3 | | [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 | | [Open WebUI Rust](./src/open-webui-rust) | latest | | [OpenCode](./src/opencode) | 1.1.27 | diff --git a/apps/bolt-diy/docker-compose.yaml b/apps/bolt-diy/docker-compose.yaml index 3d18c7d..9de1de4 100644 --- a/apps/bolt-diy/docker-compose.yaml +++ b/apps/bolt-diy/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: bolt-diy: <<: *defaults image: ${GLOBAL_REGISTRY:-}stackblitz/bolt:${BOLT_DIY_VERSION:-latest} ports: - - "${BOLT_DIY_PORT_OVERRIDE:-5173}:5173" + - '${BOLT_DIY_PORT_OVERRIDE:-5173}:5173' environment: - TZ=${TZ:-UTC} - VITE_LOG_LEVEL=${VITE_LOG_LEVEL:-info} @@ -26,14 +26,13 @@ services: memory: ${BOLT_DIY_MEMORY_RESERVATION:-512M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:5173/", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:5173/' + interval: 30s timeout: 10s retries: 3 diff --git a/apps/buildingai/docker-compose.yaml b/apps/buildingai/docker-compose.yaml index b6fb5d1..59be83d 100644 --- a/apps/buildingai/docker-compose.yaml +++ b/apps/buildingai/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: redis: @@ -18,7 +18,7 @@ services: - TZ=${TZ:-UTC} - REDIS_PASSWORD=${REDIS_PASSWORD:-} ports: - - "${REDIS_PORT_OVERRIDE:-6379}:6379" + - '${REDIS_PORT_OVERRIDE:-6379}:6379' volumes: - redis_data:/data command: > @@ -30,7 +30,7 @@ services: fi ' 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 timeout: 5s retries: 5 @@ -54,11 +54,11 @@ services: - POSTGRES_DB=${DB_DATABASE:-buildingai} - PGDATA=/var/lib/postgresql/data/pgdata ports: - - "${POSTGRES_PORT_OVERRIDE:-5432}:5432" + - '${POSTGRES_PORT_OVERRIDE:-5432}:5432' volumes: - postgres_data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${DB_USERNAME:-postgres}"] + test: [CMD-SHELL, 'pg_isready -U ${DB_USERNAME:-postgres}'] interval: 10s timeout: 5s retries: 5 @@ -93,11 +93,11 @@ services: - REDIS_PORT=6379 - REDIS_PASSWORD=${REDIS_PASSWORD:-} ports: - - "${BUILDINGAI_PORT_OVERRIDE:-4090}:${SERVER_PORT:-4090}" + - '${BUILDINGAI_PORT_OVERRIDE:-4090}:${SERVER_PORT:-4090}' volumes: - buildingai_data:/app/data 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 timeout: 10s retries: 3 diff --git a/apps/deeptutor/README.md b/apps/deeptutor/README.md index 8453cbd..dbce180 100644 --- a/apps/deeptutor/README.md +++ b/apps/deeptutor/README.md @@ -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. -**Project:** -**License:** Apache-2.0 +**Project:** +**License:** Apache-2.0 **Documentation:** ## Features diff --git a/apps/deeptutor/README.zh.md b/apps/deeptutor/README.zh.md index 37da444..2d3cdd6 100644 --- a/apps/deeptutor/README.zh.md +++ b/apps/deeptutor/README.zh.md @@ -6,8 +6,8 @@ DeepTutor 是一个 AI 驱动的个性化学习助手,通过多智能体系统将任何文档转化为交互式学习体验。它可以帮助您解决问题、生成题目、进行研究、协作写作、整理笔记,并引导您完成学习路径。 -**项目地址:** -**许可证:** Apache-2.0 +**项目地址:** +**许可证:** Apache-2.0 **文档:** ## 功能特性 diff --git a/apps/deeptutor/docker-compose.yaml b/apps/deeptutor/docker-compose.yaml index 86aec5a..6b61b74 100644 --- a/apps/deeptutor/docker-compose.yaml +++ b/apps/deeptutor/docker-compose.yaml @@ -8,15 +8,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: deeptutor: <<: *defaults image: ${GLOBAL_REGISTRY:-ghcr.io}/hkuds/deeptutor:${DEEPTUTOR_VERSION:-latest} ports: - - "${DEEPTUTOR_BACKEND_PORT_OVERRIDE:-8001}:${BACKEND_PORT:-8001}" - - "${DEEPTUTOR_FRONTEND_PORT_OVERRIDE:-3782}:${FRONTEND_PORT:-3782}" + - '${DEEPTUTOR_BACKEND_PORT_OVERRIDE:-8001}:${BACKEND_PORT:-8001}' + - '${DEEPTUTOR_FRONTEND_PORT_OVERRIDE:-3782}:${FRONTEND_PORT:-3782}' volumes: - deeptutor_data:/app/data - ./config:/app/config:ro @@ -42,15 +42,14 @@ services: - PGID=${PGID:-1000} healthcheck: test: - [ - "CMD", - "curl", - "-f", - "http://localhost:${BACKEND_PORT:-8001}/health", - "||", - "exit", - "1", - ] + - CMD + - curl + - -f + - 'http://localhost:${BACKEND_PORT:-8001}/health' + - '||' + - exit + - '1' + interval: 30s timeout: 10s retries: 3 diff --git a/apps/dify/docker-compose.yaml b/apps/dify/docker-compose.yaml index b90909c..bf9292b 100644 --- a/apps/dify/docker-compose.yaml +++ b/apps/dify/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: dify-api: @@ -41,14 +41,13 @@ services: memory: ${DIFY_API_MEMORY_RESERVATION:-1G} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:5001/health", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:5001/health' + interval: 30s timeout: 10s retries: 3 @@ -98,7 +97,7 @@ services: - NEXT_PUBLIC_API_URL=${DIFY_API_URL:-http://localhost:5001} - NEXT_PUBLIC_APP_URL=${DIFY_APP_URL:-http://localhost:3000} ports: - - "${DIFY_PORT_OVERRIDE:-3000}:3000" + - '${DIFY_PORT_OVERRIDE:-3000}:3000' deploy: resources: limits: @@ -128,7 +127,7 @@ services: cpus: ${DIFY_DB_CPU_RESERVATION:-0.25} memory: ${DIFY_DB_MEMORY_RESERVATION:-256M} 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 timeout: 10s retries: 3 @@ -151,7 +150,7 @@ services: cpus: ${DIFY_REDIS_CPU_RESERVATION:-0.1} memory: ${DIFY_REDIS_MEMORY_RESERVATION:-128M} healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 3s retries: 3 @@ -181,14 +180,13 @@ services: memory: ${DIFY_WEAVIATE_MEMORY_RESERVATION:-512M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:8080/v1/.well-known/ready", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:8080/v1/.well-known/ready' + interval: 30s timeout: 10s retries: 3 diff --git a/apps/easy-dataset/README.md b/apps/easy-dataset/README.md index 5ea3ba6..85a6824 100644 --- a/apps/easy-dataset/README.md +++ b/apps/easy-dataset/README.md @@ -62,7 +62,7 @@ If you need to mount the Prisma database files: ```yaml volumes: - 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: diff --git a/apps/easy-dataset/README.zh.md b/apps/easy-dataset/README.zh.md index 96b1bd2..c7130fe 100644 --- a/apps/easy-dataset/README.zh.md +++ b/apps/easy-dataset/README.zh.md @@ -62,7 +62,7 @@ ```yaml volumes: - easy_dataset_db:/app/local-db - - easy_dataset_prisma:/app/prisma # 取消此行注释 + - easy_dataset_prisma:/app/prisma # 取消此行注释 ``` 3. 启动服务: diff --git a/apps/easy-dataset/docker-compose.yaml b/apps/easy-dataset/docker-compose.yaml index b55e418..c2247d9 100644 --- a/apps/easy-dataset/docker-compose.yaml +++ b/apps/easy-dataset/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: easy-dataset: <<: *defaults image: ${GHCR_IO_REGISTRY:-ghcr.io}/conardli/easy-dataset:${EASY_DATASET_VERSION:-1.5.1} ports: - - "${EASY_DATASET_PORT_OVERRIDE:-1717}:1717" + - '${EASY_DATASET_PORT_OVERRIDE:-1717}:1717' volumes: - easy_dataset_db:/app/local-db # Uncomment the following line if you need to mount Prisma database files @@ -29,7 +29,7 @@ services: cpus: ${EASY_DATASET_CPU_RESERVATION:-0.5} memory: ${EASY_DATASET_MEMORY_RESERVATION:-1G} 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 timeout: 10s retries: 3 diff --git a/apps/langflow/README.md b/apps/langflow/README.md index 7c56b77..fd39a18 100644 --- a/apps/langflow/README.md +++ b/apps/langflow/README.md @@ -218,7 +218,7 @@ For production deployments: ```bash # Generate a secure key python -c "from secrets import token_urlsafe; print(token_urlsafe(32))" - + # Add to .env LANGFLOW_SECRET_KEY= ``` diff --git a/apps/langflow/README.zh.md b/apps/langflow/README.zh.md index 95c029c..1bd9d6f 100644 --- a/apps/langflow/README.zh.md +++ b/apps/langflow/README.zh.md @@ -218,7 +218,7 @@ curl -X POST http://localhost:7860/api/v1/run/{flow_id} \ ```bash # 生成安全密钥 python -c "from secrets import token_urlsafe; print(token_urlsafe(32))" - + # 添加到 .env LANGFLOW_SECRET_KEY=<生成的密钥> ``` diff --git a/apps/langflow/docker-compose.yaml b/apps/langflow/docker-compose.yaml index 8f0b240..f6347e0 100644 --- a/apps/langflow/docker-compose.yaml +++ b/apps/langflow/docker-compose.yaml @@ -31,14 +31,14 @@ x-defaults: &defaults driver: json-file options: max-size: ${LOG_MAX_SIZE:-100m} - max-file: "${LOG_MAX_FILE:-3}" + max-file: '${LOG_MAX_FILE:-3}' services: langflow: <<: *defaults image: ${GLOBAL_REGISTRY:-}langflowai/langflow:${LANGFLOW_VERSION:-1.1.1} ports: - - "${LANGFLOW_PORT_OVERRIDE:-7860}:7860" + - '${LANGFLOW_PORT_OVERRIDE:-7860}:7860' environment: # Database configuration - LANGFLOW_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB} @@ -82,7 +82,7 @@ services: postgres: condition: service_healthy 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 timeout: 10s retries: 5 @@ -90,11 +90,11 @@ services: deploy: resources: limits: - cpus: "${LANGFLOW_CPU_LIMIT:-2.0}" - memory: "${LANGFLOW_MEMORY_LIMIT:-2G}" + cpus: '${LANGFLOW_CPU_LIMIT:-2.0}' + memory: '${LANGFLOW_MEMORY_LIMIT:-2G}' reservations: - cpus: "${LANGFLOW_CPU_RESERVATION:-0.5}" - memory: "${LANGFLOW_MEMORY_RESERVATION:-512M}" + cpus: '${LANGFLOW_CPU_RESERVATION:-0.5}' + memory: '${LANGFLOW_MEMORY_RESERVATION:-512M}' postgres: <<: *defaults @@ -108,7 +108,7 @@ services: volumes: - postgres_data:/var/lib/postgresql/data 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 timeout: 5s retries: 5 @@ -116,11 +116,11 @@ services: deploy: resources: limits: - cpus: "${POSTGRES_CPU_LIMIT:-1.0}" - memory: "${POSTGRES_MEMORY_LIMIT:-1G}" + cpus: '${POSTGRES_CPU_LIMIT:-1.0}' + memory: '${POSTGRES_MEMORY_LIMIT:-1G}' reservations: - cpus: "${POSTGRES_CPU_RESERVATION:-0.25}" - memory: "${POSTGRES_MEMORY_RESERVATION:-256M}" + cpus: '${POSTGRES_CPU_RESERVATION:-0.25}' + memory: '${POSTGRES_MEMORY_RESERVATION:-256M}' volumes: postgres_data: diff --git a/apps/langfuse/README.md b/apps/langfuse/README.md index 0d32be5..42ff0fa 100644 --- a/apps/langfuse/README.md +++ b/apps/langfuse/README.md @@ -93,7 +93,7 @@ This service deploys Langfuse, an open-source LLM engineering platform for obser All services have configurable CPU and memory limits: - **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 - **minio**: 1 CPU core, 1GB RAM - **redis**: 1 CPU core, 512MB RAM diff --git a/apps/langfuse/docker-compose.yaml b/apps/langfuse/docker-compose.yaml index e4e7d9c..963965e 100644 --- a/apps/langfuse/docker-compose.yaml +++ b/apps/langfuse/docker-compose.yaml @@ -13,7 +13,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: langfuse-worker: @@ -89,14 +89,13 @@ services: memory: ${LANGFUSE_WORKER_MEMORY_RESERVATION:-512M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://127.0.0.1:3030/api/health", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://127.0.0.1:3030/api/health' + interval: 30s timeout: 10s retries: 3 @@ -107,7 +106,7 @@ services: image: ${GLOBAL_REGISTRY:-}langfuse/langfuse:${LANGFUSE_VERSION:-3.143.0} depends_on: *langfuse-depends-on ports: - - "${LANGFUSE_PORT_OVERRIDE:-3000}:3000" + - '${LANGFUSE_PORT_OVERRIDE:-3000}:3000' environment: <<: *langfuse-worker-env HOSTNAME: ${HOSTNAME:-0.0.0.0} @@ -131,14 +130,13 @@ services: memory: ${LANGFUSE_WEB_MEMORY_RESERVATION:-512M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://127.0.0.1:3000/api/public/health", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://127.0.0.1:3000/api/public/health' + interval: 30s timeout: 10s retries: 3 @@ -149,7 +147,7 @@ services: image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${CLICKHOUSE_VERSION:-latest} profiles: - ${COMPOSE_PROFILES:-} - user: "101:101" + user: '101:101' environment: CLICKHOUSE_DB: default CLICKHOUSE_USER: ${CLICKHOUSE_USER:-clickhouse} @@ -191,7 +189,7 @@ services: volumes: - langfuse_minio_data:/data healthcheck: - test: ["CMD", "mc", "ready", "local"] + test: [CMD, mc, ready, local] interval: 1s timeout: 5s retries: 5 @@ -214,7 +212,7 @@ services: --requirepass ${REDIS_AUTH:-myredissecret} --maxmemory-policy noeviction healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 3s timeout: 10s retries: 10 @@ -241,7 +239,7 @@ services: volumes: - langfuse_postgres_data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U postgres"] + test: [CMD-SHELL, pg_isready -U postgres] interval: 3s timeout: 3s retries: 10 diff --git a/apps/n8n/docker-compose.yaml b/apps/n8n/docker-compose.yaml index 2e90512..a373361 100644 --- a/apps/n8n/docker-compose.yaml +++ b/apps/n8n/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: n8n: <<: *defaults image: ${GLOBAL_REGISTRY:-}n8nio/n8n:${N8N_VERSION:-1.114.0} ports: - - "${N8N_PORT:-5678}:5678" + - '${N8N_PORT:-5678}:5678' volumes: - n8n_data:/home/node/.n8n environment: @@ -48,7 +48,7 @@ services: cpus: ${N8N_CPU_RESERVATION:-0.5} memory: ${N8N_MEMORY_RESERVATION:-512M} 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 timeout: 10s retries: 3 diff --git a/apps/nanobot/docker-compose.yaml b/apps/nanobot/docker-compose.yaml index 1da2324..7492d4e 100644 --- a/apps/nanobot/docker-compose.yaml +++ b/apps/nanobot/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: nanobot: <<: *defaults image: ${GLOBAL_REGISTRY:-ghcr.io/}hkuds/nanobot:${NANOBOT_VERSION:-v0.1.3.post4} ports: - - "${NANOBOT_PORT_OVERRIDE:-18790}:18790" + - '${NANOBOT_PORT_OVERRIDE:-18790}:18790' volumes: - nanobot_config:/root/.nanobot - nanobot_workspace:/root/.nanobot/workspace @@ -57,7 +57,7 @@ services: - NANOBOT_GATEWAY__PORT=${GATEWAY_PORT:-18790} command: ${NANOBOT_COMMAND:-gateway} healthcheck: - test: ["CMD", "python", "-c", "import sys; sys.exit(0)"] + test: [CMD, python, -c, import sys; sys.exit(0)] interval: 30s timeout: 10s retries: 3 diff --git a/apps/openclaw/README.md b/apps/openclaw/README.md index c8ebe1b..bec9dae 100644 --- a/apps/openclaw/README.md +++ b/apps/openclaw/README.md @@ -26,7 +26,7 @@ OpenClaw is a personal AI assistant that runs on your own devices. It integrates ```bash # Using OpenSSL openssl rand -hex 32 - + # Or using Python python3 -c "import secrets; print(secrets.token_hex(32))" ``` diff --git a/apps/openclaw/README.zh.md b/apps/openclaw/README.zh.md index 2a04828..c220b5b 100644 --- a/apps/openclaw/README.zh.md +++ b/apps/openclaw/README.zh.md @@ -26,7 +26,7 @@ OpenClaw 是一个运行在你自己设备上的个人 AI 助手。它集成了 ```bash # 使用 OpenSSL openssl rand -hex 32 - + # 或使用 Python python3 -c "import secrets; print(secrets.token_hex(32))" ``` diff --git a/apps/openclaw/docker-compose.yaml b/apps/openclaw/docker-compose.yaml index a10bc85..ddf3fbc 100644 --- a/apps/openclaw/docker-compose.yaml +++ b/apps/openclaw/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: openclaw-gateway: @@ -33,18 +33,18 @@ services: - openclaw_config:/home/node/.openclaw - openclaw_workspace:/home/node/openclaw-workspace ports: - - "${OPENCLAW_GATEWAY_PORT_OVERRIDE:-18789}:18789" - - "${OPENCLAW_BRIDGE_PORT_OVERRIDE:-18790}:18790" + - '${OPENCLAW_GATEWAY_PORT_OVERRIDE:-18789}:18789' + - '${OPENCLAW_BRIDGE_PORT_OVERRIDE:-18790}:18790' command: - node - dist/index.js - gateway - --bind - - "${OPENCLAW_GATEWAY_BIND:-lan}" + - '${OPENCLAW_GATEWAY_BIND:-lan}' - --port - - "18789" + - '18789' healthcheck: - test: ["CMD", "node", "dist/index.js", "health", "--port", "18789"] + test: [CMD, node, dist/index.js, health, --port, '18789'] interval: 30s timeout: 10s retries: 3 @@ -74,7 +74,7 @@ services: - moltbot_workspace:/home/node/clawd stdin_open: true tty: true - entrypoint: ["node", "dist/index.js"] + entrypoint: [node, dist/index.js] profiles: - cli deploy: diff --git a/apps/opencoze/docker-compose.yaml b/apps/opencoze/docker-compose.yaml index 38539a2..6c1340f 100644 --- a/apps/opencoze/docker-compose.yaml +++ b/apps/opencoze/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: # Note: OpenCoze is a complex platform that requires multiple services. diff --git a/apps/openlit/README.md b/apps/openlit/README.md index 0a27c6b..30582f0 100644 --- a/apps/openlit/README.md +++ b/apps/openlit/README.md @@ -70,7 +70,7 @@ npm install openlit ```typescript import Openlit from 'openlit'; -Openlit.init({ +Openlit.init({ otlpEndpoint: 'http://localhost:4318' }); ``` diff --git a/apps/openlit/README.zh.md b/apps/openlit/README.zh.md index 1b6ecab..8dd3432 100644 --- a/apps/openlit/README.zh.md +++ b/apps/openlit/README.zh.md @@ -70,7 +70,7 @@ npm install openlit ```typescript import Openlit from 'openlit'; -Openlit.init({ +Openlit.init({ otlpEndpoint: 'http://localhost:4318' }); ``` diff --git a/apps/openlit/docker-compose.yaml b/apps/openlit/docker-compose.yaml index 688b32d..7dd5a68 100644 --- a/apps/openlit/docker-compose.yaml +++ b/apps/openlit/docker-compose.yaml @@ -9,7 +9,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: clickhouse: @@ -24,10 +24,10 @@ services: volumes: - clickhouse_data:/var/lib/clickhouse ports: - - "${CLICKHOUSE_HTTP_PORT_OVERRIDE:-8123}:8123" - - "${CLICKHOUSE_NATIVE_PORT_OVERRIDE:-9000}:9000" + - '${CLICKHOUSE_HTTP_PORT_OVERRIDE:-8123}:8123' + - '${CLICKHOUSE_NATIVE_PORT_OVERRIDE:-9000}:9000' 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 timeout: 3s retries: 10 @@ -69,16 +69,16 @@ services: - OPAMP_TLS_MAX_VERSION=${OPAMP_TLS_MAX_VERSION:-1.3} - OPAMP_LOG_LEVEL=${OPAMP_LOG_LEVEL:-info} ports: - - "${OPENLIT_PORT_OVERRIDE:-3000}:${OPENLIT_INTERNAL_PORT:-3000}" - - "${OPENLIT_OTLP_GRPC_PORT_OVERRIDE:-4317}:4317" - - "${OPENLIT_OTLP_HTTP_PORT_OVERRIDE:-4318}:4318" + - '${OPENLIT_PORT_OVERRIDE:-3000}:${OPENLIT_INTERNAL_PORT:-3000}' + - '${OPENLIT_OTLP_GRPC_PORT_OVERRIDE:-4317}:4317' + - '${OPENLIT_OTLP_HTTP_PORT_OVERRIDE:-4318}:4318' depends_on: clickhouse: condition: service_healthy volumes: - openlit_data:/app/client/data 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 timeout: 10s retries: 3 diff --git a/apps/openobserve/docker-compose.yaml b/apps/openobserve/docker-compose.yaml index 957e345..1320c51 100644 --- a/apps/openobserve/docker-compose.yaml +++ b/apps/openobserve/docker-compose.yaml @@ -8,14 +8,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: openobserve: <<: *defaults image: ${GLOBAL_REGISTRY:-public.ecr.aws/zinclabs/}openobserve:${OPENOBSERVE_VERSION:-v0.50.0} ports: - - "${OPENOBSERVE_PORT_OVERRIDE:-5080}:5080" + - '${OPENOBSERVE_PORT_OVERRIDE:-5080}:5080' volumes: - openobserve_data:/data environment: @@ -29,7 +29,7 @@ services: - ZO_S3_ACCESS_KEY=${ZO_S3_ACCESS_KEY:-} - ZO_S3_SECRET_KEY=${ZO_S3_SECRET_KEY:-} 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 timeout: 10s retries: 3 diff --git a/apps/opensandbox/config.toml b/apps/opensandbox/config.toml index 51bc89c..14c9f8d 100644 --- a/apps/opensandbox/config.toml +++ b/apps/opensandbox/config.toml @@ -22,15 +22,15 @@ network_mode = "bridge" # Security hardening options # Drop dangerous capabilities drop_capabilities = [ - "AUDIT_WRITE", - "MKNOD", - "NET_ADMIN", - "NET_RAW", - "SYS_ADMIN", - "SYS_MODULE", - "SYS_PTRACE", - "SYS_TIME", - "SYS_TTY_CONFIG" + "AUDIT_WRITE", + "MKNOD", + "NET_ADMIN", + "NET_RAW", + "SYS_ADMIN", + "SYS_MODULE", + "SYS_PTRACE", + "SYS_TIME", + "SYS_TTY_CONFIG" ] # Prevent privilege escalation inside containers diff --git a/apps/opensandbox/docker-compose.yaml b/apps/opensandbox/docker-compose.yaml index 47a4bf8..63032af 100644 --- a/apps/opensandbox/docker-compose.yaml +++ b/apps/opensandbox/docker-compose.yaml @@ -8,14 +8,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: opensandbox-server: <<: *defaults image: ${GLOBAL_REGISTRY:-}opensandbox/server:${OPENSANDBOX_SERVER_VERSION:-v1.0.5} ports: - - "${OPENSANDBOX_SERVER_PORT_OVERRIDE:-8080}:8080" + - '${OPENSANDBOX_SERVER_PORT_OVERRIDE:-8080}:8080' volumes: # Mount Docker socket to enable sandbox creation - /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_HOST=${DOCKER_HOST:-unix:///var/run/docker.sock} healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8080/health"] + test: [CMD, curl, -f, 'http://localhost:8080/health'] interval: 30s timeout: 10s retries: 3 diff --git a/apps/sim/docker-compose.yaml b/apps/sim/docker-compose.yaml index 1ee3a2c..9bc9899 100644 --- a/apps/sim/docker-compose.yaml +++ b/apps/sim/docker-compose.yaml @@ -8,14 +8,14 @@ x-defaults: &defaults driver: json-file options: max-size: ${LOG_MAX_SIZE:-100m} - max-file: "${LOG_MAX_FILE:-3}" + max-file: '${LOG_MAX_FILE:-3}' services: simstudio: <<: *defaults image: ${GLOBAL_REGISTRY:-}ghcr.io/simstudioai/simstudio:${SIM_VERSION:-latest} ports: - - "${SIM_PORT_OVERRIDE:-3000}:3000" + - '${SIM_PORT_OVERRIDE:-3000}:3000' environment: - TZ=${TZ:-UTC} - NODE_ENV=production @@ -37,7 +37,7 @@ services: realtime: condition: service_healthy 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 timeout: 10s retries: 3 @@ -55,7 +55,7 @@ services: <<: *defaults image: ${GLOBAL_REGISTRY:-}ghcr.io/simstudioai/realtime:${SIM_REALTIME_VERSION:-latest} ports: - - "${SIM_REALTIME_PORT_OVERRIDE:-3002}:3002" + - '${SIM_REALTIME_PORT_OVERRIDE:-3002}:3002' environment: - TZ=${TZ:-UTC} - DATABASE_URL=postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-simstudio} @@ -66,7 +66,7 @@ services: db: condition: service_healthy 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 timeout: 10s retries: 3 @@ -89,13 +89,13 @@ services: depends_on: db: condition: service_healthy - command: ["bun", "run", "db:migrate"] - restart: "no" + command: [bun, run, 'db:migrate'] + restart: no logging: driver: json-file options: max-size: ${LOG_MAX_SIZE:-100m} - max-file: "${LOG_MAX_FILE:-3}" + max-file: '${LOG_MAX_FILE:-3}' deploy: resources: limits: @@ -109,7 +109,7 @@ services: <<: *defaults image: ${GLOBAL_REGISTRY:-}pgvector/pgvector:${PGVECTOR_VERSION:-pg17} ports: - - "${POSTGRES_PORT_OVERRIDE:-5432}:5432" + - '${POSTGRES_PORT_OVERRIDE:-5432}:5432' environment: - TZ=${TZ:-UTC} - POSTGRES_USER=${POSTGRES_USER:-postgres} @@ -118,7 +118,7 @@ services: volumes: - postgres_data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres}"] + test: [CMD-SHELL, 'pg_isready -U ${POSTGRES_USER:-postgres}'] interval: 10s timeout: 5s retries: 5 diff --git a/apps/stable-diffusion-webui-docker/docker-compose.yaml b/apps/stable-diffusion-webui-docker/docker-compose.yaml index ab78392..40d9e28 100644 --- a/apps/stable-diffusion-webui-docker/docker-compose.yaml +++ b/apps/stable-diffusion-webui-docker/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: stable-diffusion-webui: <<: *defaults image: ${GHCR_IO_REGISTRY:-ghcr.io}/absolutelyludicrous/sdnext:${SD_WEBUI_VERSION:-latest} ports: - - "${SD_WEBUI_PORT_OVERRIDE:-7860}:7860" + - '${SD_WEBUI_PORT_OVERRIDE:-7860}:7860' environment: TZ: ${TZ:-UTC} CLI_ARGS: ${CLI_ARGS:---listen --api --skip-version-check} @@ -33,7 +33,7 @@ services: count: ${GPU_COUNT:-1} capabilities: [gpu] 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 timeout: 10s retries: 3 diff --git a/apps/stirling-pdf/docker-compose.yaml b/apps/stirling-pdf/docker-compose.yaml index 5516679..0b32532 100644 --- a/apps/stirling-pdf/docker-compose.yaml +++ b/apps/stirling-pdf/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: stirling-pdf: <<: *defaults image: ${GLOBAL_REGISTRY:-}stirlingtools/stirling-pdf:${STIRLING_VERSION:-latest} ports: - - "${PORT_OVERRIDE:-8080}:8080" + - '${PORT_OVERRIDE:-8080}:8080' volumes: - stirling_trainingData:/usr/share/tessdata - stirling_configs:/configs @@ -44,7 +44,7 @@ services: cpus: ${STIRLING_CPU_RESERVATION:-1.0} memory: ${STIRLING_MEMORY_RESERVATION:-2G} 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 timeout: 10s retries: 3 diff --git a/builds/debian-dind/docker-compose.yaml b/builds/debian-dind/docker-compose.yaml index fb1620f..0e2b684 100644 --- a/builds/debian-dind/docker-compose.yaml +++ b/builds/debian-dind/docker-compose.yaml @@ -7,7 +7,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: dind: @@ -26,14 +26,14 @@ services: - INSTALL_NVIDIA_TOOLKIT=${INSTALL_NVIDIA_TOOLKIT:-false} privileged: true ports: - - "${DIND_PORT_OVERRIDE:-2375}:2375" + - '${DIND_PORT_OVERRIDE:-2375}:2375' volumes: - dind_data:/var/lib/docker environment: - TZ=${TZ:-UTC} - DOCKER_TLS_CERTDIR=${DOCKER_TLS_CERTDIR:-} healthcheck: - test: ["CMD", "docker", "info"] + test: [CMD, docker, info] interval: 30s timeout: 10s retries: 3 @@ -64,7 +64,7 @@ services: - INSTALL_NVIDIA_TOOLKIT=true privileged: true ports: - - "${DIND_PORT_OVERRIDE:-2375}:2375" + - '${DIND_PORT_OVERRIDE:-2375}:2375' volumes: - dind_gpu_data:/var/lib/docker environment: @@ -73,7 +73,7 @@ services: - NVIDIA_VISIBLE_DEVICES=all - NVIDIA_DRIVER_CAPABILITIES=compute,utility healthcheck: - test: ["CMD", "docker", "info"] + test: [CMD, docker, info] interval: 30s timeout: 10s retries: 3 diff --git a/builds/goose/docker-compose.yaml b/builds/goose/docker-compose.yaml index 90cfc8d..e346901 100644 --- a/builds/goose/docker-compose.yaml +++ b/builds/goose/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults driver: json-file options: max-size: ${GOOSE_LOG_MAX_SIZE:-100m} - max-file: "${GOOSE_LOG_MAX_FILE:-3}" + max-file: '${GOOSE_LOG_MAX_FILE:-3}' services: goose: diff --git a/builds/io-paint/docker-compose.yaml b/builds/io-paint/docker-compose.yaml index c80904d..53bf8a2 100644 --- a/builds/io-paint/docker-compose.yaml +++ b/builds/io-paint/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: io-paint: @@ -40,7 +40,7 @@ services: device_ids: ['0'] capabilities: [compute, utility] 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 timeout: 10s retries: 3 diff --git a/builds/k3s-inside-dind/docker-compose.yaml b/builds/k3s-inside-dind/docker-compose.yaml index 1e328ec..64fd840 100644 --- a/builds/k3s-inside-dind/docker-compose.yaml +++ b/builds/k3s-inside-dind/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: k3s: @@ -28,15 +28,15 @@ services: - k3s_data:/var/lib/rancher/k3s - docker_data:/var/lib/docker ports: - - "${K3S_API_PORT_OVERRIDE:-6443}:6443" # Kubernetes API server - - "${DOCKER_TLS_PORT_OVERRIDE:-2376}:2376" # Docker daemon TLS port + - '${K3S_API_PORT_OVERRIDE:-6443}:6443' # Kubernetes API server + - '${DOCKER_TLS_PORT_OVERRIDE:-2376}:2376' # Docker daemon TLS port environment: - TZ=${TZ:-UTC} - K3S_TOKEN=${K3S_TOKEN:-} - K3S_DISABLE_SERVICES=${K3S_DISABLE_SERVICES:-traefik} - K3S_NODE_NAME=${K3S_NODE_NAME:-k3s-server} healthcheck: - test: ["CMD", "k3s", "kubectl", "get", "--raw", "/healthz"] + test: [CMD, k3s, kubectl, get, --raw, /healthz] interval: 30s timeout: 10s retries: 5 diff --git a/builds/microsandbox/docker-compose.yaml b/builds/microsandbox/docker-compose.yaml index a1ae1fa..cc81091 100644 --- a/builds/microsandbox/docker-compose.yaml +++ b/builds/microsandbox/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: microsandbox: @@ -25,7 +25,7 @@ services: - MICROSANDBOX_AUTO_PULL_IMAGES=${MICROSANDBOX_AUTO_PULL_IMAGES:-true} image: ${GLOBAL_REGISTRY:-ghcr.io}/zerocore-ai/microsandbox:${MICROSANDBOX_VERSION:-latest} 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 # This provides hardware-level isolation inside the container # 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}; working_dir: /workspace healthcheck: - test: ["CMD-SHELL", "msb --version || exit 1"] + test: [CMD-SHELL, 'msb --version || exit 1'] interval: 30s timeout: 10s retries: 3 diff --git a/builds/mineru/docker-compose.yaml b/builds/mineru/docker-compose.yaml index 75b5f74..c0616a2 100644 --- a/builds/mineru/docker-compose.yaml +++ b/builds/mineru/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' x-mineru-vllm: &mineru-vllm <<: *defaults @@ -25,21 +25,21 @@ x-mineru-vllm: &mineru-vllm deploy: resources: limits: - cpus: "16.0" + cpus: '16.0' memory: 32G reservations: - cpus: "8.0" + cpus: '8.0' memory: 16G devices: - driver: nvidia - device_ids: ["0"] + device_ids: ['0'] capabilities: [gpu] services: mineru-openai-server: <<: *mineru-vllm profiles: - - "openai-server" + - openai-server - ${COMPOSE_PROFILES:-} ports: - ${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 # --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: - test: ["CMD-SHELL", "curl -f http://localhost:30000/health || exit 1"] + test: [CMD-SHELL, 'curl -f http://localhost:30000/health || exit 1'] interval: 30s timeout: 10s retries: 3 @@ -58,7 +58,7 @@ services: mineru-api: <<: *mineru-vllm - profiles: ["api"] + profiles: [api] ports: - ${MINERU_PORT_OVERRIDE_API:-8000}:8000 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. healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:8000/docs", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:8000/docs' + interval: 30s timeout: 10s retries: 3 @@ -85,7 +84,7 @@ services: mineru-gradio: <<: *mineru-vllm - profiles: ["gradio"] + profiles: [gradio] ports: - ${MINERU_PORT_OVERRIDE_GRADIO:-7860}:7860 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. healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:7860/", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:7860/' + interval: 30s timeout: 10s retries: 3 diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..c093d96 --- /dev/null +++ b/eslint.config.mjs @@ -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, +}) diff --git a/mcp-servers/api-gateway/docker-compose.yaml b/mcp-servers/api-gateway/docker-compose.yaml index 15aa81d..60b1172 100644 --- a/mcp-servers/api-gateway/docker-compose.yaml +++ b/mcp-servers/api-gateway/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-api-gateway: @@ -14,9 +14,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_API_GATEWAY_PORT_OVERRIDE:-8000}:8000" + - '${MCP_API_GATEWAY_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/arxiv-mcp-server/docker-compose.yaml b/mcp-servers/arxiv-mcp-server/docker-compose.yaml index 2993a2e..d0e6093 100644 --- a/mcp-servers/arxiv-mcp-server/docker-compose.yaml +++ b/mcp-servers/arxiv-mcp-server/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-arxiv: @@ -15,11 +15,11 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_ARXIV_PORT_OVERRIDE:-8000}:8000" + - '${MCP_ARXIV_PORT_OVERRIDE:-8000}:8000' volumes: - arxiv_data:/data/papers healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/basic-memory/docker-compose.yaml b/mcp-servers/basic-memory/docker-compose.yaml index 6453615..e8712e6 100644 --- a/mcp-servers/basic-memory/docker-compose.yaml +++ b/mcp-servers/basic-memory/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-basic-memory: @@ -14,11 +14,11 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_BASIC_MEMORY_PORT_OVERRIDE:-8000}:8000" + - '${MCP_BASIC_MEMORY_PORT_OVERRIDE:-8000}:8000' volumes: - basic_memory_data:/data healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/clickhouse/docker-compose.yaml b/mcp-servers/clickhouse/docker-compose.yaml index 09c8025..729360c 100644 --- a/mcp-servers/clickhouse/docker-compose.yaml +++ b/mcp-servers/clickhouse/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-clickhouse: @@ -17,9 +17,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_CLICKHOUSE_PORT_OVERRIDE:-8000}:8000" + - '${MCP_CLICKHOUSE_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/docker/docker-compose.yaml b/mcp-servers/docker/docker-compose.yaml index 9e3b2d8..d960e73 100644 --- a/mcp-servers/docker/docker-compose.yaml +++ b/mcp-servers/docker/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-docker: @@ -15,11 +15,11 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_DOCKER_PORT_OVERRIDE:-8000}:8000" + - '${MCP_DOCKER_PORT_OVERRIDE:-8000}:8000' volumes: - /var/run/docker.sock:/var/run/docker.sock healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/dockerhub/docker-compose.yaml b/mcp-servers/dockerhub/docker-compose.yaml index aadebe9..c0e1a8c 100644 --- a/mcp-servers/dockerhub/docker-compose.yaml +++ b/mcp-servers/dockerhub/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: dockerhub: @@ -17,9 +17,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${DOCKERHUB_MCP_PORT_OVERRIDE:-8000}:8000" + - '${DOCKERHUB_MCP_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/e2b/docker-compose.yaml b/mcp-servers/e2b/docker-compose.yaml index 7fd9d02..fc0062b 100644 --- a/mcp-servers/e2b/docker-compose.yaml +++ b/mcp-servers/e2b/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-e2b: @@ -15,9 +15,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_E2B_PORT_OVERRIDE:-8000}:8000" + - '${MCP_E2B_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/elevenlabs/docker-compose.yaml b/mcp-servers/elevenlabs/docker-compose.yaml index 0d05765..8abbf7d 100644 --- a/mcp-servers/elevenlabs/docker-compose.yaml +++ b/mcp-servers/elevenlabs/docker-compose.yaml @@ -3,8 +3,8 @@ x-defaults: &defaults logging: driver: json-file options: - max-size: "100m" - max-file: "3" + max-size: 100m + max-file: '3' deploy: resources: limits: @@ -23,9 +23,9 @@ services: - TZ=${TZ:-UTC} - ELEVENLABS_API_KEY=${ELEVENLABS_API_KEY} ports: - - "${MCP_ELEVENLABS_PORT_OVERRIDE:-8000}:8000" + - '${MCP_ELEVENLABS_PORT_OVERRIDE:-8000}:8000' 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 timeout: 10s retries: 3 diff --git a/mcp-servers/fetch/docker-compose.yaml b/mcp-servers/fetch/docker-compose.yaml index f4bcea1..cf62178 100644 --- a/mcp-servers/fetch/docker-compose.yaml +++ b/mcp-servers/fetch/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-fetch: @@ -14,9 +14,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_FETCH_PORT_OVERRIDE:-8000}:8000" + - '${MCP_FETCH_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/filesystem/docker-compose.yaml b/mcp-servers/filesystem/docker-compose.yaml index 0af1622..086dcea 100644 --- a/mcp-servers/filesystem/docker-compose.yaml +++ b/mcp-servers/filesystem/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-filesystem: @@ -14,11 +14,11 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_FILESYSTEM_PORT_OVERRIDE:-8000}:8000" + - '${MCP_FILESYSTEM_PORT_OVERRIDE:-8000}:8000' volumes: - ${DATA_DIR:-./data}:/data healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/firecrawl/docker-compose.yaml b/mcp-servers/firecrawl/docker-compose.yaml index 479ad9a..785adf3 100644 --- a/mcp-servers/firecrawl/docker-compose.yaml +++ b/mcp-servers/firecrawl/docker-compose.yaml @@ -3,8 +3,8 @@ x-defaults: &defaults logging: driver: json-file options: - max-size: "100m" - max-file: "3" + max-size: 100m + max-file: '3' deploy: resources: limits: @@ -23,9 +23,9 @@ services: - TZ=${TZ:-UTC} - FIRECRAWL_API_KEY=${FIRECRAWL_API_KEY} ports: - - "${MCP_FIRECRAWL_PORT_OVERRIDE:-8000}:8000" + - '${MCP_FIRECRAWL_PORT_OVERRIDE:-8000}:8000' 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 timeout: 10s retries: 3 diff --git a/mcp-servers/grafana/docker-compose.yaml b/mcp-servers/grafana/docker-compose.yaml index 4ab466d..27b9dce 100644 --- a/mcp-servers/grafana/docker-compose.yaml +++ b/mcp-servers/grafana/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-grafana: @@ -16,12 +16,12 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_GRAFANA_PORT_OVERRIDE:-8000}:8000" + - '${MCP_GRAFANA_PORT_OVERRIDE:-8000}:8000' depends_on: grafana: condition: service_healthy healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 @@ -45,13 +45,13 @@ services: - GF_SERVER_ROOT_URL=${GRAFANA_ROOT_URL:-http://localhost:3000} - TZ=${TZ:-UTC} ports: - - "${GRAFANA_PORT_OVERRIDE:-3000}:3000" + - '${GRAFANA_PORT_OVERRIDE:-3000}:3000' volumes: - grafana_data:/var/lib/grafana - grafana_config:/etc/grafana - grafana_logs:/var/log/grafana healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000/api/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:3000/api/health'] interval: 10s timeout: 5s retries: 5 diff --git a/mcp-servers/markdownify/docker-compose.yaml b/mcp-servers/markdownify/docker-compose.yaml index 1ef4006..4975e9c 100644 --- a/mcp-servers/markdownify/docker-compose.yaml +++ b/mcp-servers/markdownify/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-markdownify: @@ -14,9 +14,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_MARKDOWNIFY_PORT_OVERRIDE:-8000}:8000" + - '${MCP_MARKDOWNIFY_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/markitdown/docker-compose.yaml b/mcp-servers/markitdown/docker-compose.yaml index 006cccd..33fce35 100644 --- a/mcp-servers/markitdown/docker-compose.yaml +++ b/mcp-servers/markitdown/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-markitdown: @@ -14,11 +14,11 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_MARKITDOWN_PORT_OVERRIDE:-8000}:8000" + - '${MCP_MARKITDOWN_PORT_OVERRIDE:-8000}:8000' volumes: - ${DATA_DIR:-./data}:/data healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/memory/docker-compose.yaml b/mcp-servers/memory/docker-compose.yaml index f992650..7573933 100644 --- a/mcp-servers/memory/docker-compose.yaml +++ b/mcp-servers/memory/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-memory: @@ -14,11 +14,11 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_MEMORY_PORT_OVERRIDE:-8000}:8000" + - '${MCP_MEMORY_PORT_OVERRIDE:-8000}:8000' volumes: - memory_data:/data healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/mongodb/docker-compose.yaml b/mcp-servers/mongodb/docker-compose.yaml index d5eecb6..5dcefe6 100644 --- a/mcp-servers/mongodb/docker-compose.yaml +++ b/mcp-servers/mongodb/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-mongodb: @@ -16,12 +16,12 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_MONGODB_PORT_OVERRIDE:-8000}:8000" + - '${MCP_MONGODB_PORT_OVERRIDE:-8000}:8000' depends_on: mongodb: condition: service_healthy healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 @@ -44,12 +44,12 @@ services: - MONGO_INITDB_DATABASE=${MONGODB_DATABASE:-mcp_db} - TZ=${TZ:-UTC} ports: - - "${MONGODB_PORT_OVERRIDE:-27017}:27017" + - '${MONGODB_PORT_OVERRIDE:-27017}:27017' volumes: - mongodb_data:/data/db - mongodb_config:/data/configdb healthcheck: - test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"] + test: [CMD, mongosh, --eval, "db.adminCommand('ping')"] interval: 10s timeout: 5s retries: 5 diff --git a/mcp-servers/neo4j-cypher/docker-compose.yaml b/mcp-servers/neo4j-cypher/docker-compose.yaml index 4d879ab..c33fa51 100644 --- a/mcp-servers/neo4j-cypher/docker-compose.yaml +++ b/mcp-servers/neo4j-cypher/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-neo4j-cypher: @@ -17,9 +17,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_NEO4J_CYPHER_PORT_OVERRIDE:-8000}:8000" + - '${MCP_NEO4J_CYPHER_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/neo4j-memory/docker-compose.yaml b/mcp-servers/neo4j-memory/docker-compose.yaml index 3372b92..f1e17ac 100644 --- a/mcp-servers/neo4j-memory/docker-compose.yaml +++ b/mcp-servers/neo4j-memory/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-neo4j-memory: @@ -17,9 +17,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_NEO4J_MEMORY_PORT_OVERRIDE:-8000}:8000" + - '${MCP_NEO4J_MEMORY_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/notion/docker-compose.yaml b/mcp-servers/notion/docker-compose.yaml index 4280d10..a799404 100644 --- a/mcp-servers/notion/docker-compose.yaml +++ b/mcp-servers/notion/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-notion: @@ -15,9 +15,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_NOTION_PORT_OVERRIDE:-8000}:8000" + - '${MCP_NOTION_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/openapi-schema/docker-compose.yaml b/mcp-servers/openapi-schema/docker-compose.yaml index 4712ff1..e3cc889 100644 --- a/mcp-servers/openapi-schema/docker-compose.yaml +++ b/mcp-servers/openapi-schema/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-openapi-schema: @@ -14,9 +14,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_OPENAPI_SCHEMA_PORT_OVERRIDE:-8000}:8000" + - '${MCP_OPENAPI_SCHEMA_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/openapi/docker-compose.yaml b/mcp-servers/openapi/docker-compose.yaml index 22fcee1..7e7d441 100644 --- a/mcp-servers/openapi/docker-compose.yaml +++ b/mcp-servers/openapi/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-openapi: @@ -14,9 +14,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_OPENAPI_PORT_OVERRIDE:-8000}:8000" + - '${MCP_OPENAPI_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/openweather/docker-compose.yaml b/mcp-servers/openweather/docker-compose.yaml index c9ce960..80a8755 100644 --- a/mcp-servers/openweather/docker-compose.yaml +++ b/mcp-servers/openweather/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-openweather: @@ -15,9 +15,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_OPENWEATHER_PORT_OVERRIDE:-8000}:8000" + - '${MCP_OPENWEATHER_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/paper-search/docker-compose.yaml b/mcp-servers/paper-search/docker-compose.yaml index f94ad4b..f56d11a 100644 --- a/mcp-servers/paper-search/docker-compose.yaml +++ b/mcp-servers/paper-search/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-paper-search: @@ -14,9 +14,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_PAPER_SEARCH_PORT_OVERRIDE:-8000}:8000" + - '${MCP_PAPER_SEARCH_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/playwright/docker-compose.yaml b/mcp-servers/playwright/docker-compose.yaml index be922a5..003732f 100644 --- a/mcp-servers/playwright/docker-compose.yaml +++ b/mcp-servers/playwright/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: playwright: @@ -14,11 +14,11 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${PLAYWRIGHT_PORT_OVERRIDE:-8000}:8000" + - '${PLAYWRIGHT_PORT_OVERRIDE:-8000}:8000' volumes: - playwright_data:/app/data healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 @@ -33,7 +33,7 @@ services: memory: 512M security_opt: - seccomp:unconfined - shm_size: '2gb' + shm_size: 2gb volumes: playwright_data: diff --git a/mcp-servers/redis/docker-compose.yaml b/mcp-servers/redis/docker-compose.yaml index e44d0e8..6a207d7 100644 --- a/mcp-servers/redis/docker-compose.yaml +++ b/mcp-servers/redis/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp: @@ -16,12 +16,12 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_PORT_OVERRIDE:-8000}:8000" + - '${MCP_PORT_OVERRIDE:-8000}:8000' depends_on: redis: condition: service_healthy healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 @@ -40,13 +40,13 @@ services: image: ${GLOBAL_REGISTRY:-}redis:${REDIS_VERSION:-7-alpine} command: redis-server --appendonly yes ports: - - "${REDIS_PORT_OVERRIDE:-6379}:6379" + - '${REDIS_PORT_OVERRIDE:-6379}:6379' volumes: - redis_data:/data environment: - TZ=${TZ:-UTC} healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/rust-mcp-filesystem/docker-compose.yaml b/mcp-servers/rust-mcp-filesystem/docker-compose.yaml index 4ce96b9..5f9969b 100644 --- a/mcp-servers/rust-mcp-filesystem/docker-compose.yaml +++ b/mcp-servers/rust-mcp-filesystem/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: rust-mcp-filesystem: @@ -15,14 +15,14 @@ services: - ALLOWED_PATHS=${ALLOWED_PATHS:-/projects} - TZ=${TZ:-UTC} ports: - - "${RUST_MCP_FILESYSTEM_PORT_OVERRIDE:-8000}:8000" + - '${RUST_MCP_FILESYSTEM_PORT_OVERRIDE:-8000}:8000' volumes: # 挂载需要访问的目录到 /projects 下 - ${HOST_WORKSPACE_PATH:-./workspace}:/projects/workspace:ro # 如果需要写入权限,移除 :ro 标志 # - ${HOST_DATA_PATH:-./data}:/projects/data healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/sequentialthinking/docker-compose.yaml b/mcp-servers/sequentialthinking/docker-compose.yaml index b804f27..d8a1864 100644 --- a/mcp-servers/sequentialthinking/docker-compose.yaml +++ b/mcp-servers/sequentialthinking/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-sequentialthinking: @@ -14,9 +14,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_SEQUENTIALTHINKING_PORT_OVERRIDE:-8000}:8000" + - '${MCP_SEQUENTIALTHINKING_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/sqlite/docker-compose.yaml b/mcp-servers/sqlite/docker-compose.yaml index 2056dfc..bece3cb 100644 --- a/mcp-servers/sqlite/docker-compose.yaml +++ b/mcp-servers/sqlite/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-sqlite: @@ -14,11 +14,11 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_SQLITE_PORT_OVERRIDE:-8000}:8000" + - '${MCP_SQLITE_PORT_OVERRIDE:-8000}:8000' volumes: - ${DATA_DIR:-./data}:/data healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/tavily/docker-compose.yaml b/mcp-servers/tavily/docker-compose.yaml index 5855580..3835f02 100644 --- a/mcp-servers/tavily/docker-compose.yaml +++ b/mcp-servers/tavily/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: tavily: @@ -14,9 +14,9 @@ services: - TAVILY_API_KEY=${TAVILY_API_KEY} - TZ=${TZ:-UTC} ports: - - "${TAVILY_PORT_OVERRIDE:-8000}:8000" + - '${TAVILY_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/text-to-graphql/docker-compose.yaml b/mcp-servers/text-to-graphql/docker-compose.yaml index 36a32c9..5f12541 100644 --- a/mcp-servers/text-to-graphql/docker-compose.yaml +++ b/mcp-servers/text-to-graphql/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-text-to-graphql: @@ -14,9 +14,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_TEXT_TO_GRAPHQL_PORT_OVERRIDE:-8000}:8000" + - '${MCP_TEXT_TO_GRAPHQL_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/time/docker-compose.yaml b/mcp-servers/time/docker-compose.yaml index 1deff36..a16984a 100644 --- a/mcp-servers/time/docker-compose.yaml +++ b/mcp-servers/time/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-time: @@ -14,9 +14,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_TIME_PORT_OVERRIDE:-8000}:8000" + - '${MCP_TIME_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/wolfram-alpha/docker-compose.yaml b/mcp-servers/wolfram-alpha/docker-compose.yaml index 4ca2665..054efd3 100644 --- a/mcp-servers/wolfram-alpha/docker-compose.yaml +++ b/mcp-servers/wolfram-alpha/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mcp-wolfram-alpha: @@ -15,9 +15,9 @@ services: - MCP_HOST=0.0.0.0 - TZ=${TZ:-UTC} ports: - - "${MCP_WOLFRAM_ALPHA_PORT_OVERRIDE:-8000}:8000" + - '${MCP_WOLFRAM_ALPHA_PORT_OVERRIDE:-8000}:8000' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"] + test: [CMD, wget, --spider, -q, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/mcp-servers/youtube-transcript/docker-compose.yaml b/mcp-servers/youtube-transcript/docker-compose.yaml index 973d1b1..4b1907d 100644 --- a/mcp-servers/youtube-transcript/docker-compose.yaml +++ b/mcp-servers/youtube-transcript/docker-compose.yaml @@ -3,8 +3,8 @@ x-defaults: &defaults logging: driver: json-file options: - max-size: "100m" - max-file: "3" + max-size: 100m + max-file: '3' deploy: resources: limits: @@ -22,9 +22,9 @@ services: environment: - TZ=${TZ:-UTC} ports: - - "${MCP_YOUTUBE_TRANSCRIPT_PORT_OVERRIDE:-8000}:8000" + - '${MCP_YOUTUBE_TRANSCRIPT_PORT_OVERRIDE:-8000}:8000' 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 timeout: 10s retries: 3 diff --git a/package.json b/package.json new file mode 100644 index 0000000..b6db6f1 --- /dev/null +++ b/package.json @@ -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" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..ac08030 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,2673 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@antfu/eslint-config': + specifier: ^7.4.3 + version: 7.4.3(@vue/compiler-sfc@3.5.28)(eslint@10.0.1)(typescript@5.9.3) + eslint: + specifier: ^10.0.1 + version: 10.0.1 + +packages: + + '@antfu/eslint-config@7.4.3': + resolution: {integrity: sha512-qHOG2408wBz21x191n0Mm9r2q/PqMYul+YE+DUBqZMtJYUn+bd+Dh3g8LIkyItMJR+Xs9f9TKXJehZLRYxJlHg==} + hasBin: true + peerDependencies: + '@angular-eslint/eslint-plugin': ^21.1.0 + '@angular-eslint/eslint-plugin-template': ^21.1.0 + '@angular-eslint/template-parser': ^21.1.0 + '@eslint-react/eslint-plugin': ^2.11.0 + '@next/eslint-plugin-next': '>=15.0.0' + '@prettier/plugin-xml': ^3.4.1 + '@unocss/eslint-plugin': '>=0.50.0' + astro-eslint-parser: ^1.0.2 + eslint: ^9.10.0 || ^10.0.0 + eslint-plugin-astro: ^1.2.0 + eslint-plugin-format: '>=0.1.0' + eslint-plugin-jsx-a11y: '>=6.10.2' + eslint-plugin-react-hooks: ^7.0.0 + eslint-plugin-react-refresh: ^0.5.0 + eslint-plugin-solid: ^0.14.3 + eslint-plugin-svelte: '>=2.35.1' + eslint-plugin-vuejs-accessibility: ^2.4.1 + prettier-plugin-astro: ^0.14.0 + prettier-plugin-slidev: ^1.0.5 + svelte-eslint-parser: '>=0.37.0' + peerDependenciesMeta: + '@angular-eslint/eslint-plugin': + optional: true + '@angular-eslint/eslint-plugin-template': + optional: true + '@angular-eslint/template-parser': + optional: true + '@eslint-react/eslint-plugin': + optional: true + '@next/eslint-plugin-next': + optional: true + '@prettier/plugin-xml': + optional: true + '@unocss/eslint-plugin': + optional: true + astro-eslint-parser: + optional: true + eslint-plugin-astro: + optional: true + eslint-plugin-format: + optional: true + eslint-plugin-jsx-a11y: + optional: true + eslint-plugin-react-hooks: + optional: true + eslint-plugin-react-refresh: + optional: true + eslint-plugin-solid: + optional: true + eslint-plugin-svelte: + optional: true + eslint-plugin-vuejs-accessibility: + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-slidev: + optional: true + svelte-eslint-parser: + optional: true + + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.0': + resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} + engines: {node: '>=6.9.0'} + + '@clack/core@1.0.1': + resolution: {integrity: sha512-WKeyK3NOBwDOzagPR5H08rFk9D/WuN705yEbuZvKqlkmoLM2woKtXb10OO2k1NoSU4SFG947i2/SCYh+2u5e4g==} + + '@clack/prompts@1.0.1': + resolution: {integrity: sha512-/42G73JkuYdyWZ6m8d/CJtBrGl1Hegyc7Fy78m5Ob+jF85TOUmLR5XLce/U3LxYAw0kJ8CT5aI99RIvPHcGp/Q==} + + '@es-joy/jsdoccomment@0.78.0': + resolution: {integrity: sha512-rQkU5u8hNAq2NVRzHnIUUvR6arbO0b6AOlvpTNS48CkiKSn/xtNfOzBK23JE4SiW89DgvU7GtxLVgV4Vn2HBAw==} + engines: {node: '>=20.11.0'} + + '@es-joy/jsdoccomment@0.84.0': + resolution: {integrity: sha512-0xew1CxOam0gV5OMjh2KjFQZsKL2bByX1+q4j3E73MpYIdyUxcZb/xQct9ccUb+ve5KGUYbCUxyPnYB7RbuP+w==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@es-joy/resolve.exports@1.2.0': + resolution: {integrity: sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g==} + engines: {node: '>=10'} + + '@eslint-community/eslint-plugin-eslint-comments@4.6.0': + resolution: {integrity: sha512-2EX2bBQq1ez++xz2o9tEeEQkyvfieWgUFMH4rtJJri2q0Azvhja3hZGXsjPXs31R4fQkZDtWzNDDK2zQn5UE5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/compat@2.0.2': + resolution: {integrity: sha512-pR1DoD0h3HfF675QZx0xsyrsU8q70Z/plx7880NOhS02NuWLgBCOMDL787nUeQ7EWLkxv3bPQJaarjcPQb2Dwg==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: ^8.40 || 9 || 10 + peerDependenciesMeta: + eslint: + optional: true + + '@eslint/config-array@0.23.2': + resolution: {integrity: sha512-YF+fE6LV4v5MGWRGj7G404/OZzGNepVF8fxk7jqmqo3lrza7a0uUcDnROGRBG1WFC1omYUS/Wp1f42i0M+3Q3A==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/config-helpers@0.5.2': + resolution: {integrity: sha512-a5MxrdDXEvqnIq+LisyCX6tQMPF/dSJpCfBgBauY+pNZ28yCtSsTvyTYrMhaI+LK26bVyCJfJkT0u8KIj2i1dQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@1.1.0': + resolution: {integrity: sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/markdown@7.5.1': + resolution: {integrity: sha512-R8uZemG9dKTbru/DQRPblbJyXpObwKzo8rv1KYGGuPUPtjM4LXBYM9q5CIZAComzZupws3tWbDwam5AFpPLyJQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@3.0.2': + resolution: {integrity: sha512-HOy56KJt48Bx8KmJ+XGQNSUMT/6dZee/M54XyUyuvTvPXJmsERRvBchsUVx1UMe1WwIH49XLAczNC7V2INsuUw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.6.0': + resolution: {integrity: sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@ota-meshi/ast-token-store@0.2.1': + resolution: {integrity: sha512-+8oB1wcOSWJCR6vAm2ioSLas7SoPwp+8tZ1Tcy8DSVEHMip6jxxlGu6EsRzJLAYVCyzKQ38B5pAqSbon1l1rmA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + '@eslint/markdown': ^7.4.0 + eslint: '>=9.0.0' + + '@pkgr/core@0.2.9': + resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@sindresorhus/base62@1.0.0': + resolution: {integrity: sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA==} + engines: {node: '>=18'} + + '@stylistic/eslint-plugin@5.9.0': + resolution: {integrity: sha512-FqqSkvDMYJReydrMhlugc71M76yLLQWNfmGq+SIlLa7N3kHp8Qq8i2PyWrVNAfjOyOIY+xv9XaaYwvVW7vroMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^9.0.0 || ^10.0.0 + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@typescript-eslint/eslint-plugin@8.56.0': + resolution: {integrity: sha512-lRyPDLzNCuae71A3t9NEINBiTn7swyOhvUj3MyUOxb8x6g6vPEFoOU+ZRmGMusNC3X3YMhqMIX7i8ShqhT74Pw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/parser@8.56.0': + resolution: {integrity: sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/project-service@8.56.0': + resolution: {integrity: sha512-M3rnyL1vIQOMeWxTWIW096/TtVP+8W3p/XnaFflhmcFp+U4zlxUxWj4XwNs6HbDeTtN4yun0GNTTDBw/SvufKg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/scope-manager@8.56.0': + resolution: {integrity: sha512-7UiO/XwMHquH+ZzfVCfUNkIXlp/yQjjnlYUyYz7pfvlK3/EyyN6BK+emDmGNyQLBtLGaYrTAI6KOw8tFucWL2w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.56.0': + resolution: {integrity: sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/type-utils@8.56.0': + resolution: {integrity: sha512-qX2L3HWOU2nuDs6GzglBeuFXviDODreS58tLY/BALPC7iu3Fa+J7EOTwnX9PdNBxUI7Uh0ntP0YWGnxCkXzmfA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/types@8.56.0': + resolution: {integrity: sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.56.0': + resolution: {integrity: sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/utils@8.56.0': + resolution: {integrity: sha512-RZ3Qsmi2nFGsS+n+kjLAYDPVlrzf7UhTffrDIKr+h2yzAlYP/y5ZulU0yeDEPItos2Ph46JAL5P/On3pe7kDIQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/visitor-keys@8.56.0': + resolution: {integrity: sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@vitest/eslint-plugin@1.6.9': + resolution: {integrity: sha512-9WfPx1OwJ19QLCSRLkqVO7//1WcWnK3fE/3fJhKMAmDe8+9G4rB47xCNIIeCq3FdEzkIoLTfDlwDlPBaUTMhow==} + engines: {node: '>=18'} + peerDependencies: + eslint: '>=8.57.0' + typescript: '>=5.0.0' + vitest: '*' + peerDependenciesMeta: + typescript: + optional: true + vitest: + optional: true + + '@vue/compiler-core@3.5.28': + resolution: {integrity: sha512-kviccYxTgoE8n6OCw96BNdYlBg2GOWfBuOW4Vqwrt7mSKWKwFVvI8egdTltqRgITGPsTFYtKYfxIG8ptX2PJHQ==} + + '@vue/compiler-dom@3.5.28': + resolution: {integrity: sha512-/1ZepxAb159jKR1btkefDP+J2xuWL5V3WtleRmxaT+K2Aqiek/Ab/+Ebrw2pPj0sdHO8ViAyyJWfhXXOP/+LQA==} + + '@vue/compiler-sfc@3.5.28': + resolution: {integrity: sha512-6TnKMiNkd6u6VeVDhZn/07KhEZuBSn43Wd2No5zaP5s3xm8IqFTHBj84HJah4UepSUJTro5SoqqlOY22FKY96g==} + + '@vue/compiler-ssr@3.5.28': + resolution: {integrity: sha512-JCq//9w1qmC6UGLWJX7RXzrGpKkroubey/ZFqTpvEIDJEKGgntuDMqkuWiZvzTzTA5h2qZvFBFHY7fAAa9475g==} + + '@vue/shared@3.5.28': + resolution: {integrity: sha512-cfWa1fCGBxrvaHRhvV3Is0MgmrbSCxYTXCSCau2I0a1Xw1N1pHAvkWCiXPRAqjvToILvguNyEwjevUqAuBQWvQ==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.14.0: + resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} + + ansis@4.2.0: + resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} + engines: {node: '>=14'} + + are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + + baseline-browser-mapping@2.10.0: + resolution: {integrity: sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==} + engines: {node: '>=6.0.0'} + hasBin: true + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@5.0.3: + resolution: {integrity: sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==} + engines: {node: 18 || 20 || >=22} + + browserslist@4.28.1: + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + builtin-modules@5.0.0: + resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==} + engines: {node: '>=18.20'} + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + caniuse-lite@1.0.30001772: + resolution: {integrity: sha512-mIwLZICj+ntVTw4BT2zfp+yu/AqV6GMKfJVJMx3MwPxs+uk/uj2GLl2dH8LQbjiLDX66amCga5nKFyDgRR43kg==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + change-case@5.4.4: + resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + ci-info@4.4.0: + resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} + engines: {node: '>=8'} + + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + + comment-parser@1.4.5: + resolution: {integrity: sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw==} + engines: {node: '>= 12.0.0'} + + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + + confbox@0.2.4: + resolution: {integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==} + + core-js-compat@3.48.0: + resolution: {integrity: sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + diff-sequences@27.5.1: + resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + electron-to-chromium@1.5.302: + resolution: {integrity: sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==} + + empathic@2.0.0: + resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} + engines: {node: '>=14'} + + enhanced-resolve@5.19.0: + resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==} + engines: {node: '>=10.13.0'} + + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-compat-utils@0.5.1: + resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + eslint-compat-utils@0.6.5: + resolution: {integrity: sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + eslint-config-flat-gitignore@2.2.1: + resolution: {integrity: sha512-wA5EqN0era7/7Gt5Botlsfin/UNY0etJSEeBgbUlFLFrBi47rAN//+39fI7fpYcl8RENutlFtvp/zRa/M/pZNg==} + peerDependencies: + eslint: ^9.5.0 || ^10.0.0 + + eslint-flat-config-utils@3.0.1: + resolution: {integrity: sha512-VMA3u86bLzNAwD/7DkLtQ9lolgIOx2Sj0kTMMnBvrvEz7w0rQj4aGCR+lqsqtld63gKiLyT4BnQZ3gmGDXtvjg==} + + eslint-json-compat-utils@0.2.2: + resolution: {integrity: sha512-KcTUifi8VSSHkrOY0FzB7smuTZRU9T2nCrcCy6k2b+Q77+uylBQVIxN4baVCIWvWJEpud+IsrYgco4JJ6io05g==} + engines: {node: '>=12'} + peerDependencies: + '@eslint/json': '*' + eslint: '*' + jsonc-eslint-parser: ^2.4.0 || ^3.0.0 + peerDependenciesMeta: + '@eslint/json': + optional: true + + eslint-merge-processors@2.0.0: + resolution: {integrity: sha512-sUuhSf3IrJdGooquEUB5TNpGNpBoQccbnaLHsb1XkBLUPPqCNivCpY05ZcpCOiV9uHwO2yxXEWVczVclzMxYlA==} + peerDependencies: + eslint: '*' + + eslint-plugin-antfu@3.2.2: + resolution: {integrity: sha512-Qzixht2Dmd/pMbb5EnKqw2V8TiWHbotPlsORO8a+IzCLFwE0RxK8a9k4DCTFPzBwyxJzH+0m2Mn8IUGeGQkyUw==} + peerDependencies: + eslint: '*' + + eslint-plugin-command@3.4.0: + resolution: {integrity: sha512-EW4eg/a7TKEhG0s5IEti72kh3YOTlnhfFNuctq5WnB1fst37/IHTd5OkD+vnlRf3opTvUcSRihAateP6bT5ZcA==} + peerDependencies: + eslint: '*' + + eslint-plugin-es-x@7.8.0: + resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8' + + eslint-plugin-import-lite@0.5.2: + resolution: {integrity: sha512-XvfdWOC5dSLEI9krIPRlNmKSI2ViIE9pVylzfV9fCq0ZpDaNeUk6o0wZv0OzN83QdadgXp1NsY0qjLINxwYCsw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=9.0.0' + + eslint-plugin-jsdoc@62.7.0: + resolution: {integrity: sha512-jootujJOIGMkCLN+/WgDFKtaclCt2MEEy9cZ1RyK19Az1JvVI3awbeMXNlJ6y4h8RWIJpcXqmxsu4t9NThYbNw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 + + eslint-plugin-jsonc@2.21.1: + resolution: {integrity: sha512-dbNR5iEnQeORwsK2WZzr3QaMtFCY3kKJVMRHPzUpKzMhmVy2zIpVgFDpX8MNoIdoqz6KCpCfOJavhfiSbZbN+w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + eslint-plugin-n@17.24.0: + resolution: {integrity: sha512-/gC7/KAYmfNnPNOb3eu8vw+TdVnV0zhdQwexsw6FLXbhzroVj20vRn2qL8lDWDGnAQ2J8DhdfvXxX9EoxvERvw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.23.0' + + eslint-plugin-no-only-tests@3.3.0: + resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} + engines: {node: '>=5.0.0'} + + eslint-plugin-perfectionist@5.6.0: + resolution: {integrity: sha512-pxrLrfRp5wl1Vol1fAEa/G5yTXxefTPJjz07qC7a8iWFXcOZNuWBItMQ2OtTzfQIvMq6bMyYcrzc3Wz++na55Q==} + engines: {node: ^20.0.0 || >=22.0.0} + peerDependencies: + eslint: ^8.45.0 || ^9.0.0 || ^10.0.0 + + eslint-plugin-pnpm@1.5.0: + resolution: {integrity: sha512-ayMo1GvrQ/sF/bz1aOAiH0jv9eAqU2Z+a1ycoWz/uFFK5NxQDq49BDKQtBumcOUBf2VHyiTW4a8u+6KVqoIWzQ==} + peerDependencies: + eslint: ^9.0.0 + + eslint-plugin-regexp@3.0.0: + resolution: {integrity: sha512-iW7hgAV8NOG6E2dz+VeKpq67YLQ9jaajOKYpoOSic2/q8y9BMdXBKkSR9gcMtbqEhNQzdW41E3wWzvhp8ExYwQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: '>=9.38.0' + + eslint-plugin-toml@1.1.1: + resolution: {integrity: sha512-Gg7wxVIYe2bJ1GqcOxmkVqdd1ScE2U3Ia3Q7RLgBhV9NVhAfkFaAOCRwRAAJ2TkbM/dQmXvNuFmAPx4y5XqIHA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: '>=9.38.0' + + eslint-plugin-unicorn@63.0.0: + resolution: {integrity: sha512-Iqecl9118uQEXYh7adylgEmGfkn5es3/mlQTLLkd4pXkIk9CTGrAbeUux+YljSa2ohXCBmQQ0+Ej1kZaFgcfkA==} + engines: {node: ^20.10.0 || >=21.0.0} + peerDependencies: + eslint: '>=9.38.0' + + eslint-plugin-unused-imports@4.4.1: + resolution: {integrity: sha512-oZGYUz1X3sRMGUB+0cZyK2VcvRX5lm/vB56PgNNcU+7ficUCKm66oZWKUubXWnOuPjQ8PvmXtCViXBMONPe7tQ==} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 + eslint: ^10.0.0 || ^9.0.0 || ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + + eslint-plugin-vue@10.8.0: + resolution: {integrity: sha512-f1J/tcbnrpgC8suPN5AtdJ5MQjuXbSU9pGRSSYAuF3SHoiYCOdEX6O22pLaRyLHXvDcOe+O5ENgc1owQ587agA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + '@typescript-eslint/parser': ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + vue-eslint-parser: ^10.0.0 + peerDependenciesMeta: + '@stylistic/eslint-plugin': + optional: true + '@typescript-eslint/parser': + optional: true + + eslint-plugin-yml@3.2.1: + resolution: {integrity: sha512-/oFj7MWk56AKLelLSUb7zN1OKDI9kR+uKEzbf/sGu7Bov0tJs3qwtMcu+VCcEtFAFD7KZe0LSYhyy0Uq8hKF9g==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} + peerDependencies: + eslint: '>=9.38.0' + + eslint-processor-vue-blocks@2.0.0: + resolution: {integrity: sha512-u4W0CJwGoWY3bjXAuFpc/b6eK3NQEI8MoeW7ritKj3G3z/WtHrKjkqf+wk8mPEy5rlMGS+k6AZYOw2XBoN/02Q==} + peerDependencies: + '@vue/compiler-sfc': ^3.3.0 + eslint: '>=9.0.0' + + eslint-scope@9.1.1: + resolution: {integrity: sha512-GaUN0sWim5qc8KVErfPBWmc31LEsOkrUJbvJZV+xuL3u2phMUK4HIvXlWAakfC8W4nzlK+chPEAkYOYb5ZScIw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint@10.0.1: + resolution: {integrity: sha512-20MV9SUdeN6Jd84xESsKhRly+/vxI+hwvpBMA93s+9dAcjdCuCojn4IqUGS3lvVaqjVYGYHSRMCpeFtF2rQYxQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + espree@11.1.1: + resolution: {integrity: sha512-AVHPqQoZYc+RUM4/3Ly5udlZY/U4LS8pIG05jEjWM2lQMU/oaZ7qshzAl2YP1tfNmXfftH3ohurfwNAug+MnsQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + exsolve@1.0.8: + resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + find-up-simple@1.0.1: + resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} + engines: {node: '>=18'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + get-tsconfig@4.13.6: + resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + engines: {node: '>=18'} + + globals@16.5.0: + resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} + engines: {node: '>=18'} + + globals@17.3.0: + resolution: {integrity: sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==} + engines: {node: '>=18'} + + globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + html-entities@2.6.0: + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + + is-builtin-module@5.0.0: + resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==} + engines: {node: '>=18.20'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + jsdoc-type-pratt-parser@7.0.0: + resolution: {integrity: sha512-c7YbokssPOSHmqTbSAmTtnVgAVa/7lumWNYqomgd5KOMyPrRve2anx6lonfOsXEQacqF9FKVUj7bLg4vRSvdYA==} + engines: {node: '>=20.0.0'} + + jsdoc-type-pratt-parser@7.1.1: + resolution: {integrity: sha512-/2uqY7x6bsrpi3i9LVU6J89352C0rpMk0as8trXxCtvd4kPk1ke/Eyif6wqfSLvoNJqcDG9Vk4UsXgygzCt2xA==} + engines: {node: '>=20.0.0'} + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + jsonc-eslint-parser@2.4.2: + resolution: {integrity: sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} + engines: {node: '>=14'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + + mdast-util-from-markdown@2.0.3: + resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + + minimatch@10.2.2: + resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==} + engines: {node: 18 || 20 || >=22} + + minimatch@9.0.6: + resolution: {integrity: sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==} + engines: {node: '>=16 || 14 >=14.17'} + + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + natural-orderby@5.0.0: + resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} + engines: {node: '>=18'} + + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + object-deep-merge@2.0.0: + resolution: {integrity: sha512-3DC3UMpeffLTHiuXSy/UG4NOIYTLlY9u3V82+djSCLYClWobZiS4ivYzpIUWrRY/nfsJ8cWsKyG3QfyLePmhvg==} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + package-manager-detector@1.6.0: + resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} + + parse-gitignore@2.0.0: + resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} + engines: {node: '>=14'} + + parse-imports-exports@0.2.4: + resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==} + + parse-statements@1.0.11: + resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + pnpm-workspace-yaml@1.5.0: + resolution: {integrity: sha512-PxdyJuFvq5B0qm3s9PaH/xOtSxrcvpBRr+BblhucpWjs8c79d4b7/cXhyY4AyHOHCnqklCYZTjfl0bT/mFVTRw==} + + postcss-selector-parser@7.1.1: + resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + engines: {node: '>=4'} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + + refa@0.12.1: + resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + regexp-ast-analysis@0.7.1: + resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regjsparser@0.13.0: + resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} + hasBin: true + + reserved-identifiers@1.2.0: + resolution: {integrity: sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw==} + engines: {node: '>=18'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + scslre@0.3.0: + resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} + engines: {node: ^14.0.0 || >=16.0.0} + + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + + spdx-license-ids@3.0.23: + resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} + + strip-indent@4.1.1: + resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==} + engines: {node: '>=12'} + + synckit@0.11.12: + resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==} + engines: {node: ^14.18.0 || >=16.0.0} + + tapable@2.3.0: + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} + engines: {node: '>=6'} + + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + to-valid-identifier@1.0.0: + resolution: {integrity: sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw==} + engines: {node: '>=20'} + + toml-eslint-parser@1.0.3: + resolution: {integrity: sha512-A5F0cM6+mDleacLIEUkmfpkBbnHJFV1d2rprHU2MXNk7mlxHq2zGojA+SRvQD1RoMo9gqjZPWEaKG4v1BQ48lw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + ts-api-utils@2.4.0: + resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-declaration-location@1.0.7: + resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==} + peerDependencies: + typescript: '>=4.0.0' + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.6.3: + resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} + + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} + + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + vue-eslint-parser@10.4.0: + resolution: {integrity: sha512-Vxi9pJdbN3ZnVGLODVtZ7y4Y2kzAAE2Cm0CZ3ZDRvydVYxZ6VrnBhLikBsRS+dpwj4Jv4UCv21PTEwF5rQ9WXg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + yaml-eslint-parser@2.0.0: + resolution: {integrity: sha512-h0uDm97wvT2bokfwwTmY6kJ1hp6YDFL0nRHwNKz8s/VD1FH/vvZjAKoMUE+un0eaYBSG7/c6h+lJTP+31tjgTw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + yaml@2.8.2: + resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} + engines: {node: '>= 14.6'} + hasBin: true + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@antfu/eslint-config@7.4.3(@vue/compiler-sfc@3.5.28)(eslint@10.0.1)(typescript@5.9.3)': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@clack/prompts': 1.0.1 + '@eslint-community/eslint-plugin-eslint-comments': 4.6.0(eslint@10.0.1) + '@eslint/markdown': 7.5.1 + '@stylistic/eslint-plugin': 5.9.0(eslint@10.0.1) + '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1)(typescript@5.9.3))(eslint@10.0.1)(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.1)(typescript@5.9.3) + '@vitest/eslint-plugin': 1.6.9(eslint@10.0.1)(typescript@5.9.3) + ansis: 4.2.0 + cac: 6.7.14 + eslint: 10.0.1 + eslint-config-flat-gitignore: 2.2.1(eslint@10.0.1) + eslint-flat-config-utils: 3.0.1 + eslint-merge-processors: 2.0.0(eslint@10.0.1) + eslint-plugin-antfu: 3.2.2(eslint@10.0.1) + eslint-plugin-command: 3.4.0(eslint@10.0.1) + eslint-plugin-import-lite: 0.5.2(eslint@10.0.1) + eslint-plugin-jsdoc: 62.7.0(eslint@10.0.1) + eslint-plugin-jsonc: 2.21.1(eslint@10.0.1) + eslint-plugin-n: 17.24.0(eslint@10.0.1)(typescript@5.9.3) + eslint-plugin-no-only-tests: 3.3.0 + eslint-plugin-perfectionist: 5.6.0(eslint@10.0.1)(typescript@5.9.3) + eslint-plugin-pnpm: 1.5.0(eslint@10.0.1) + eslint-plugin-regexp: 3.0.0(eslint@10.0.1) + eslint-plugin-toml: 1.1.1(@eslint/markdown@7.5.1)(eslint@10.0.1) + eslint-plugin-unicorn: 63.0.0(eslint@10.0.1) + eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1)(typescript@5.9.3))(eslint@10.0.1)(typescript@5.9.3))(eslint@10.0.1) + eslint-plugin-vue: 10.8.0(@stylistic/eslint-plugin@5.9.0(eslint@10.0.1))(@typescript-eslint/parser@8.56.0(eslint@10.0.1)(typescript@5.9.3))(eslint@10.0.1)(vue-eslint-parser@10.4.0(eslint@10.0.1)) + eslint-plugin-yml: 3.2.1(@eslint/markdown@7.5.1)(eslint@10.0.1) + eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.28)(eslint@10.0.1) + globals: 17.3.0 + jsonc-eslint-parser: 2.4.2 + local-pkg: 1.1.2 + parse-gitignore: 2.0.0 + toml-eslint-parser: 1.0.3 + vue-eslint-parser: 10.4.0(eslint@10.0.1) + yaml-eslint-parser: 2.0.0 + transitivePeerDependencies: + - '@eslint/json' + - '@vue/compiler-sfc' + - supports-color + - typescript + - vitest + + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.6.0 + tinyexec: 1.0.2 + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/parser@7.29.0': + dependencies: + '@babel/types': 7.29.0 + + '@babel/types@7.29.0': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@clack/core@1.0.1': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@clack/prompts@1.0.1': + dependencies: + '@clack/core': 1.0.1 + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@es-joy/jsdoccomment@0.78.0': + dependencies: + '@types/estree': 1.0.8 + '@typescript-eslint/types': 8.56.0 + comment-parser: 1.4.1 + esquery: 1.7.0 + jsdoc-type-pratt-parser: 7.0.0 + + '@es-joy/jsdoccomment@0.84.0': + dependencies: + '@types/estree': 1.0.8 + '@typescript-eslint/types': 8.56.0 + comment-parser: 1.4.5 + esquery: 1.7.0 + jsdoc-type-pratt-parser: 7.1.1 + + '@es-joy/resolve.exports@1.2.0': {} + + '@eslint-community/eslint-plugin-eslint-comments@4.6.0(eslint@10.0.1)': + dependencies: + escape-string-regexp: 4.0.0 + eslint: 10.0.1 + ignore: 7.0.5 + + '@eslint-community/eslint-utils@4.9.1(eslint@10.0.1)': + dependencies: + eslint: 10.0.1 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/compat@2.0.2(eslint@10.0.1)': + dependencies: + '@eslint/core': 1.1.0 + optionalDependencies: + eslint: 10.0.1 + + '@eslint/config-array@0.23.2': + dependencies: + '@eslint/object-schema': 3.0.2 + debug: 4.4.3 + minimatch: 10.2.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.5.2': + dependencies: + '@eslint/core': 1.1.0 + + '@eslint/core@0.17.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/core@1.1.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/markdown@7.5.1': + dependencies: + '@eslint/core': 0.17.0 + '@eslint/plugin-kit': 0.4.1 + github-slugger: 2.0.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-frontmatter: 2.0.1 + mdast-util-gfm: 3.1.0 + micromark-extension-frontmatter: 2.0.0 + micromark-extension-gfm: 3.0.0 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + '@eslint/object-schema@3.0.2': {} + + '@eslint/plugin-kit@0.4.1': + dependencies: + '@eslint/core': 0.17.0 + levn: 0.4.1 + + '@eslint/plugin-kit@0.6.0': + dependencies: + '@eslint/core': 1.1.0 + levn: 0.4.1 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@ota-meshi/ast-token-store@0.2.1(@eslint/markdown@7.5.1)(eslint@10.0.1)': + dependencies: + '@eslint/markdown': 7.5.1 + eslint: 10.0.1 + + '@pkgr/core@0.2.9': {} + + '@sindresorhus/base62@1.0.0': {} + + '@stylistic/eslint-plugin@5.9.0(eslint@10.0.1)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1) + '@typescript-eslint/types': 8.56.0 + eslint: 10.0.1 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + estraverse: 5.3.0 + picomatch: 4.0.3 + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 2.1.0 + + '@types/esrecurse@4.3.1': {} + + '@types/estree@1.0.8': {} + + '@types/json-schema@7.0.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/ms@2.1.0': {} + + '@types/unist@3.0.3': {} + + '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1)(typescript@5.9.3))(eslint@10.0.1)(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.56.0(eslint@10.0.1)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/type-utils': 8.56.0(eslint@10.0.1)(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.1)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.0 + eslint: 10.0.1 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.56.0(eslint@10.0.1)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.0 + debug: 4.4.3 + eslint: 10.0.1 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.56.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) + '@typescript-eslint/types': 8.56.0 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.56.0': + dependencies: + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/visitor-keys': 8.56.0 + + '@typescript-eslint/tsconfig-utils@8.56.0(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/type-utils@8.56.0(eslint@10.0.1)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.1)(typescript@5.9.3) + debug: 4.4.3 + eslint: 10.0.1 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.56.0': {} + + '@typescript-eslint/typescript-estree@8.56.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.56.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/visitor-keys': 8.56.0 + debug: 4.4.3 + minimatch: 9.0.6 + semver: 7.7.4 + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.56.0(eslint@10.0.1)(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1) + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + eslint: 10.0.1 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.56.0': + dependencies: + '@typescript-eslint/types': 8.56.0 + eslint-visitor-keys: 5.0.1 + + '@vitest/eslint-plugin@1.6.9(eslint@10.0.1)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/utils': 8.56.0(eslint@10.0.1)(typescript@5.9.3) + eslint: 10.0.1 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@vue/compiler-core@3.5.28': + dependencies: + '@babel/parser': 7.29.0 + '@vue/shared': 3.5.28 + entities: 7.0.1 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.28': + dependencies: + '@vue/compiler-core': 3.5.28 + '@vue/shared': 3.5.28 + + '@vue/compiler-sfc@3.5.28': + dependencies: + '@babel/parser': 7.29.0 + '@vue/compiler-core': 3.5.28 + '@vue/compiler-dom': 3.5.28 + '@vue/compiler-ssr': 3.5.28 + '@vue/shared': 3.5.28 + estree-walker: 2.0.2 + magic-string: 0.30.21 + postcss: 8.5.6 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.28': + dependencies: + '@vue/compiler-dom': 3.5.28 + '@vue/shared': 3.5.28 + + '@vue/shared@3.5.28': {} + + acorn-jsx@5.3.2(acorn@8.16.0): + dependencies: + acorn: 8.16.0 + + acorn@8.16.0: {} + + ajv@6.14.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansis@4.2.0: {} + + are-docs-informative@0.0.2: {} + + balanced-match@4.0.4: {} + + baseline-browser-mapping@2.10.0: {} + + boolbase@1.0.0: {} + + brace-expansion@5.0.3: + dependencies: + balanced-match: 4.0.4 + + browserslist@4.28.1: + dependencies: + baseline-browser-mapping: 2.10.0 + caniuse-lite: 1.0.30001772 + electron-to-chromium: 1.5.302 + node-releases: 2.0.27 + update-browserslist-db: 1.2.3(browserslist@4.28.1) + + builtin-modules@5.0.0: {} + + cac@6.7.14: {} + + caniuse-lite@1.0.30001772: {} + + ccount@2.0.1: {} + + change-case@5.4.4: {} + + character-entities@2.0.2: {} + + ci-info@4.4.0: {} + + clean-regexp@1.0.0: + dependencies: + escape-string-regexp: 1.0.5 + + comment-parser@1.4.1: {} + + comment-parser@1.4.5: {} + + confbox@0.1.8: {} + + confbox@0.2.4: {} + + core-js-compat@3.48.0: + dependencies: + browserslist: 4.28.1 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cssesc@3.0.0: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decode-named-character-reference@1.3.0: + dependencies: + character-entities: 2.0.2 + + deep-is@0.1.4: {} + + dequal@2.0.3: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + diff-sequences@27.5.1: {} + + diff-sequences@29.6.3: {} + + electron-to-chromium@1.5.302: {} + + empathic@2.0.0: {} + + enhanced-resolve@5.19.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.0 + + entities@7.0.1: {} + + escalade@3.2.0: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + eslint-compat-utils@0.5.1(eslint@10.0.1): + dependencies: + eslint: 10.0.1 + semver: 7.7.4 + + eslint-compat-utils@0.6.5(eslint@10.0.1): + dependencies: + eslint: 10.0.1 + semver: 7.7.4 + + eslint-config-flat-gitignore@2.2.1(eslint@10.0.1): + dependencies: + '@eslint/compat': 2.0.2(eslint@10.0.1) + eslint: 10.0.1 + + eslint-flat-config-utils@3.0.1: + dependencies: + '@eslint/config-helpers': 0.5.2 + pathe: 2.0.3 + + eslint-json-compat-utils@0.2.2(eslint@10.0.1)(jsonc-eslint-parser@2.4.2): + dependencies: + eslint: 10.0.1 + esquery: 1.7.0 + jsonc-eslint-parser: 2.4.2 + + eslint-merge-processors@2.0.0(eslint@10.0.1): + dependencies: + eslint: 10.0.1 + + eslint-plugin-antfu@3.2.2(eslint@10.0.1): + dependencies: + eslint: 10.0.1 + + eslint-plugin-command@3.4.0(eslint@10.0.1): + dependencies: + '@es-joy/jsdoccomment': 0.78.0 + eslint: 10.0.1 + + eslint-plugin-es-x@7.8.0(eslint@10.0.1): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1) + '@eslint-community/regexpp': 4.12.2 + eslint: 10.0.1 + eslint-compat-utils: 0.5.1(eslint@10.0.1) + + eslint-plugin-import-lite@0.5.2(eslint@10.0.1): + dependencies: + eslint: 10.0.1 + + eslint-plugin-jsdoc@62.7.0(eslint@10.0.1): + dependencies: + '@es-joy/jsdoccomment': 0.84.0 + '@es-joy/resolve.exports': 1.2.0 + are-docs-informative: 0.0.2 + comment-parser: 1.4.5 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint: 10.0.1 + espree: 11.1.1 + esquery: 1.7.0 + html-entities: 2.6.0 + object-deep-merge: 2.0.0 + parse-imports-exports: 0.2.4 + semver: 7.7.4 + spdx-expression-parse: 4.0.0 + to-valid-identifier: 1.0.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-jsonc@2.21.1(eslint@10.0.1): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1) + diff-sequences: 27.5.1 + eslint: 10.0.1 + eslint-compat-utils: 0.6.5(eslint@10.0.1) + eslint-json-compat-utils: 0.2.2(eslint@10.0.1)(jsonc-eslint-parser@2.4.2) + espree: 10.4.0 + graphemer: 1.4.0 + jsonc-eslint-parser: 2.4.2 + natural-compare: 1.4.0 + synckit: 0.11.12 + transitivePeerDependencies: + - '@eslint/json' + + eslint-plugin-n@17.24.0(eslint@10.0.1)(typescript@5.9.3): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1) + enhanced-resolve: 5.19.0 + eslint: 10.0.1 + eslint-plugin-es-x: 7.8.0(eslint@10.0.1) + get-tsconfig: 4.13.6 + globals: 15.15.0 + globrex: 0.1.2 + ignore: 5.3.2 + semver: 7.7.4 + ts-declaration-location: 1.0.7(typescript@5.9.3) + transitivePeerDependencies: + - typescript + + eslint-plugin-no-only-tests@3.3.0: {} + + eslint-plugin-perfectionist@5.6.0(eslint@10.0.1)(typescript@5.9.3): + dependencies: + '@typescript-eslint/utils': 8.56.0(eslint@10.0.1)(typescript@5.9.3) + eslint: 10.0.1 + natural-orderby: 5.0.0 + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-pnpm@1.5.0(eslint@10.0.1): + dependencies: + empathic: 2.0.0 + eslint: 10.0.1 + jsonc-eslint-parser: 2.4.2 + pathe: 2.0.3 + pnpm-workspace-yaml: 1.5.0 + tinyglobby: 0.2.15 + yaml: 2.8.2 + yaml-eslint-parser: 2.0.0 + + eslint-plugin-regexp@3.0.0(eslint@10.0.1): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1) + '@eslint-community/regexpp': 4.12.2 + comment-parser: 1.4.5 + eslint: 10.0.1 + jsdoc-type-pratt-parser: 7.1.1 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 + scslre: 0.3.0 + + eslint-plugin-toml@1.1.1(@eslint/markdown@7.5.1)(eslint@10.0.1): + dependencies: + '@eslint/core': 1.1.0 + '@eslint/plugin-kit': 0.6.0 + '@ota-meshi/ast-token-store': 0.2.1(@eslint/markdown@7.5.1)(eslint@10.0.1) + debug: 4.4.3 + eslint: 10.0.1 + toml-eslint-parser: 1.0.3 + transitivePeerDependencies: + - '@eslint/markdown' + - supports-color + + eslint-plugin-unicorn@63.0.0(eslint@10.0.1): + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1) + change-case: 5.4.4 + ci-info: 4.4.0 + clean-regexp: 1.0.0 + core-js-compat: 3.48.0 + eslint: 10.0.1 + find-up-simple: 1.0.1 + globals: 16.5.0 + indent-string: 5.0.0 + is-builtin-module: 5.0.0 + jsesc: 3.1.0 + pluralize: 8.0.0 + regexp-tree: 0.1.27 + regjsparser: 0.13.0 + semver: 7.7.4 + strip-indent: 4.1.1 + + eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1)(typescript@5.9.3))(eslint@10.0.1)(typescript@5.9.3))(eslint@10.0.1): + dependencies: + eslint: 10.0.1 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1)(typescript@5.9.3))(eslint@10.0.1)(typescript@5.9.3) + + eslint-plugin-vue@10.8.0(@stylistic/eslint-plugin@5.9.0(eslint@10.0.1))(@typescript-eslint/parser@8.56.0(eslint@10.0.1)(typescript@5.9.3))(eslint@10.0.1)(vue-eslint-parser@10.4.0(eslint@10.0.1)): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1) + eslint: 10.0.1 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 7.1.1 + semver: 7.7.4 + vue-eslint-parser: 10.4.0(eslint@10.0.1) + xml-name-validator: 4.0.0 + optionalDependencies: + '@stylistic/eslint-plugin': 5.9.0(eslint@10.0.1) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.1)(typescript@5.9.3) + + eslint-plugin-yml@3.2.1(@eslint/markdown@7.5.1)(eslint@10.0.1): + dependencies: + '@eslint/core': 1.1.0 + '@eslint/plugin-kit': 0.6.0 + '@ota-meshi/ast-token-store': 0.2.1(@eslint/markdown@7.5.1)(eslint@10.0.1) + debug: 4.4.3 + diff-sequences: 29.6.3 + escape-string-regexp: 5.0.0 + eslint: 10.0.1 + natural-compare: 1.4.0 + yaml-eslint-parser: 2.0.0 + transitivePeerDependencies: + - '@eslint/markdown' + - supports-color + + eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.28)(eslint@10.0.1): + dependencies: + '@vue/compiler-sfc': 3.5.28 + eslint: 10.0.1 + + eslint-scope@9.1.1: + dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.8 + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.1: {} + + eslint-visitor-keys@5.0.1: {} + + eslint@10.0.1: + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.23.2 + '@eslint/config-helpers': 0.5.2 + '@eslint/core': 1.1.0 + '@eslint/plugin-kit': 0.6.0 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + ajv: 6.14.0 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 9.1.1 + eslint-visitor-keys: 5.0.1 + espree: 11.1.1 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + minimatch: 10.2.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + espree@10.4.0: + dependencies: + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) + eslint-visitor-keys: 4.2.1 + + espree@11.1.1: + dependencies: + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) + eslint-visitor-keys: 5.0.1 + + espree@9.6.1: + dependencies: + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) + eslint-visitor-keys: 3.4.3 + + esquery@1.7.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + esutils@2.0.3: {} + + exsolve@1.0.8: {} + + fast-deep-equal@3.1.3: {} + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fault@2.0.1: + dependencies: + format: 0.2.2 + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + find-up-simple@1.0.1: {} + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + + flatted@3.3.3: {} + + format@0.2.2: {} + + get-tsconfig@4.13.6: + dependencies: + resolve-pkg-maps: 1.0.0 + + github-slugger@2.0.0: {} + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + globals@15.15.0: {} + + globals@16.5.0: {} + + globals@17.3.0: {} + + globrex@0.1.2: {} + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + html-entities@2.6.0: {} + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + imurmurhash@0.1.4: {} + + indent-string@5.0.0: {} + + is-builtin-module@5.0.0: + dependencies: + builtin-modules: 5.0.0 + + is-extglob@2.1.1: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + isexe@2.0.0: {} + + jsdoc-type-pratt-parser@7.0.0: {} + + jsdoc-type-pratt-parser@7.1.1: {} + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + jsonc-eslint-parser@2.4.2: + dependencies: + acorn: 8.16.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.7.4 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + local-pkg@1.1.2: + dependencies: + mlly: 1.8.0 + pkg-types: 2.3.0 + quansync: 0.2.11 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + longest-streak@3.1.0: {} + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + markdown-table@3.0.4: {} + + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + mdast-util-from-markdown@2.0.3: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-frontmatter@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0: + dependencies: + mdast-util-from-markdown: 2.0.3 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.1 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.1.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + micromark-core-commonmark@2.0.3: + dependencies: + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-table@2.1.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.3.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.2 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.2: {} + + micromark@4.0.2: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color + + minimatch@10.2.2: + dependencies: + brace-expansion: 5.0.3 + + minimatch@9.0.6: + dependencies: + brace-expansion: 5.0.3 + + mlly@1.8.0: + dependencies: + acorn: 8.16.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.3 + + ms@2.1.3: {} + + nanoid@3.3.11: {} + + natural-compare@1.4.0: {} + + natural-orderby@5.0.0: {} + + node-releases@2.0.27: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + object-deep-merge@2.0.0: {} + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + package-manager-detector@1.6.0: {} + + parse-gitignore@2.0.0: {} + + parse-imports-exports@0.2.4: + dependencies: + parse-statements: 1.0.11 + + parse-statements@1.0.11: {} + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + pathe@2.0.3: {} + + picocolors@1.1.1: {} + + picomatch@4.0.3: {} + + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.0 + pathe: 2.0.3 + + pkg-types@2.3.0: + dependencies: + confbox: 0.2.4 + exsolve: 1.0.8 + pathe: 2.0.3 + + pluralize@8.0.0: {} + + pnpm-workspace-yaml@1.5.0: + dependencies: + yaml: 2.8.2 + + postcss-selector-parser@7.1.1: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + punycode@2.3.1: {} + + quansync@0.2.11: {} + + refa@0.12.1: + dependencies: + '@eslint-community/regexpp': 4.12.2 + + regexp-ast-analysis@0.7.1: + dependencies: + '@eslint-community/regexpp': 4.12.2 + refa: 0.12.1 + + regexp-tree@0.1.27: {} + + regjsparser@0.13.0: + dependencies: + jsesc: 3.1.0 + + reserved-identifiers@1.2.0: {} + + resolve-pkg-maps@1.0.0: {} + + scslre@0.3.0: + dependencies: + '@eslint-community/regexpp': 4.12.2 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 + + semver@7.7.4: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + sisteransi@1.0.5: {} + + source-map-js@1.2.1: {} + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@4.0.0: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.23 + + spdx-license-ids@3.0.23: {} + + strip-indent@4.1.1: {} + + synckit@0.11.12: + dependencies: + '@pkgr/core': 0.2.9 + + tapable@2.3.0: {} + + tinyexec@1.0.2: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + to-valid-identifier@1.0.0: + dependencies: + '@sindresorhus/base62': 1.0.0 + reserved-identifiers: 1.2.0 + + toml-eslint-parser@1.0.3: + dependencies: + eslint-visitor-keys: 5.0.1 + + ts-api-utils@2.4.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + + ts-declaration-location@1.0.7(typescript@5.9.3): + dependencies: + picomatch: 4.0.3 + typescript: 5.9.3 + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + typescript@5.9.3: {} + + ufo@1.6.3: {} + + unist-util-is@6.0.1: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + + unist-util-visit@5.1.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + update-browserslist-db@1.2.3(browserslist@4.28.1): + dependencies: + browserslist: 4.28.1 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + util-deprecate@1.0.2: {} + + vue-eslint-parser@10.4.0(eslint@10.0.1): + dependencies: + debug: 4.4.3 + eslint: 10.0.1 + eslint-scope: 9.1.1 + eslint-visitor-keys: 5.0.1 + espree: 11.1.1 + esquery: 1.7.0 + semver: 7.7.4 + transitivePeerDependencies: + - supports-color + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + xml-name-validator@4.0.0: {} + + yaml-eslint-parser@2.0.0: + dependencies: + eslint-visitor-keys: 5.0.1 + yaml: 2.8.2 + + yaml@2.8.2: {} + + yocto-queue@0.1.0: {} + + zwitch@2.0.4: {} diff --git a/src/agentgateway/config.yaml b/src/agentgateway/config.yaml index ea3f08a..8addefb 100644 --- a/src/agentgateway/config.yaml +++ b/src/agentgateway/config.yaml @@ -5,17 +5,17 @@ binds: - policies: cors: allowOrigins: - - "*" + - '*' allowHeaders: - mcp-protocol-version - content-type - cache-control exposeHeaders: - - "Mcp-Session-Id" + - Mcp-Session-Id backends: - mcp: targets: - name: everything stdio: cmd: npx - args: ["@modelcontextprotocol/server-everything"] + args: ['@modelcontextprotocol/server-everything'] diff --git a/src/agentgateway/docker-compose.yaml b/src/agentgateway/docker-compose.yaml index 32769bd..5a861b1 100644 --- a/src/agentgateway/docker-compose.yaml +++ b/src/agentgateway/docker-compose.yaml @@ -4,23 +4,23 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: agentgateway: <<: *defaults image: ${GLOBAL_REGISTRY:-}cr.agentgateway.dev/agentgateway:${AGENTGATEWAY_VERSION:-0.11.2} ports: - - "${AGENTGATEWAY_PORT_OVERRIDE:-3000}:3000" - - "127.0.0.1:${AGENTGATEWAY_ADMIN_PORT_OVERRIDE:-15000}:15000" + - '${AGENTGATEWAY_PORT_OVERRIDE:-3000}:3000' + - '127.0.0.1:${AGENTGATEWAY_ADMIN_PORT_OVERRIDE:-15000}:15000' volumes: - ./config.yaml:/config.yaml:ro environment: - TZ=${TZ:-UTC} - ADMIN_ADDR=${AGENTGATEWAY_ADMIN_ADDR:-0.0.0.0:15000} - command: ["-f", "/config.yaml"] + command: [-f, /config.yaml] healthcheck: - test: ["CMD", "agentgateway", "--version"] + test: [CMD, agentgateway, --version] interval: 30s timeout: 10s retries: 3 diff --git a/src/apache/docker-compose.yaml b/src/apache/docker-compose.yaml index 08f7fab..1b781fb 100644 --- a/src/apache/docker-compose.yaml +++ b/src/apache/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: apache: <<: *defaults image: ${GLOBAL_REGISTRY:-}httpd:${APACHE_VERSION:-2.4.62-alpine3.20} ports: - - "${APACHE_HTTP_PORT_OVERRIDE:-80}:80" - - "${APACHE_HTTPS_PORT_OVERRIDE:-443}:443" + - '${APACHE_HTTP_PORT_OVERRIDE:-80}:80' + - '${APACHE_HTTPS_PORT_OVERRIDE:-443}:443' volumes: - apache_logs:/usr/local/apache2/logs - ./htdocs:/usr/local/apache2/htdocs:ro @@ -33,7 +33,7 @@ services: cpus: ${APACHE_CPU_RESERVATION:-0.25} memory: ${APACHE_MEMORY_RESERVATION:-128M} healthcheck: - test: ["CMD", "httpd", "-t"] + test: [CMD, httpd, -t] interval: 30s timeout: 10s retries: 3 diff --git a/src/apisix/README.md b/src/apisix/README.md index 9a6aa13..2dbc6d7 100644 --- a/src/apisix/README.md +++ b/src/apisix/README.md @@ -129,14 +129,14 @@ apisix: etcd: host: - - "http://etcd:2379" - prefix: "/apisix" + - 'http://etcd:2379' + prefix: /apisix timeout: 30 plugin_attr: prometheus: export_addr: - ip: "0.0.0.0" + ip: 0.0.0.0 port: 9091 ``` diff --git a/src/apisix/README.zh.md b/src/apisix/README.zh.md index dbfd4eb..b35f7f7 100644 --- a/src/apisix/README.zh.md +++ b/src/apisix/README.zh.md @@ -129,14 +129,14 @@ apisix: etcd: host: - - "http://etcd:2379" - prefix: "/apisix" + - 'http://etcd:2379' + prefix: /apisix timeout: 30 plugin_attr: prometheus: export_addr: - ip: "0.0.0.0" + ip: 0.0.0.0 port: 9091 ``` diff --git a/src/apisix/docker-compose.yaml b/src/apisix/docker-compose.yaml index 4ee78b8..af122d7 100644 --- a/src/apisix/docker-compose.yaml +++ b/src/apisix/docker-compose.yaml @@ -4,16 +4,16 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: apisix: <<: *defaults image: ${GLOBAL_REGISTRY:-}apache/apisix:${APISIX_VERSION:-3.13.0-debian} ports: - - "${APISIX_HTTP_PORT_OVERRIDE:-9080}:9080" - - "${APISIX_HTTPS_PORT_OVERRIDE:-9443}:9443" - - "${APISIX_ADMIN_PORT_OVERRIDE:-9180}:9180" + - '${APISIX_HTTP_PORT_OVERRIDE:-9080}:9080' + - '${APISIX_HTTPS_PORT_OVERRIDE:-9443}:9443' + - '${APISIX_ADMIN_PORT_OVERRIDE:-9180}:9180' volumes: - apisix_logs:/usr/local/apisix/logs @@ -36,7 +36,7 @@ services: memory: ${APISIX_MEMORY_RESERVATION:-256M} healthcheck: 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 timeout: 10s retries: 3 @@ -46,7 +46,7 @@ services: <<: *defaults image: quay.io/coreos/etcd:${ETCD_VERSION:-v3.6.0} ports: - - "${ETCD_CLIENT_PORT_OVERRIDE:-2379}:2379" + - '${ETCD_CLIENT_PORT_OVERRIDE:-2379}:2379' volumes: - etcd_data:/etcd-data environment: @@ -90,7 +90,7 @@ services: cpus: ${ETCD_CPU_RESERVATION:-0.1} memory: ${ETCD_MEMORY_RESERVATION:-128M} healthcheck: - test: ["CMD", "etcdctl", "endpoint", "health"] + test: [CMD, etcdctl, endpoint, health] interval: 30s timeout: 10s retries: 3 @@ -101,7 +101,7 @@ services: <<: *defaults image: ${GLOBAL_REGISTRY:-}apache/apisix-dashboard:${APISIX_DASHBOARD_VERSION:-3.0.1-alpine} ports: - - "${APISIX_DASHBOARD_PORT_OVERRIDE:-9000}:9000" + - '${APISIX_DASHBOARD_PORT_OVERRIDE:-9000}:9000' volumes: - dashboard_conf:/usr/local/apisix-dashboard/conf environment: diff --git a/src/bifrost-gateway/config/prometheus.yml b/src/bifrost-gateway/config/prometheus.yml index 768a5cd..8e92935 100644 --- a/src/bifrost-gateway/config/prometheus.yml +++ b/src/bifrost-gateway/config/prometheus.yml @@ -2,7 +2,7 @@ global: scrape_interval: 15s scrape_configs: - - job_name: 'bifrost' - metrics_path: '/metrics' + - job_name: bifrost + metrics_path: /metrics static_configs: - targets: ['bifrost:8080'] diff --git a/src/bifrost-gateway/docker-compose.yaml b/src/bifrost-gateway/docker-compose.yaml index 1320b40..6f05319 100644 --- a/src/bifrost-gateway/docker-compose.yaml +++ b/src/bifrost-gateway/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: bifrost: @@ -13,7 +13,7 @@ services: volumes: - bifrost_data:/app/data ports: - - "${BIFROST_PORT:-28080}:8080" + - '${BIFROST_PORT:-28080}:8080' environment: - TZ=${TZ:-UTC} deploy: @@ -26,14 +26,13 @@ services: memory: ${BIFROST_MEMORY_RESERVATION:-128M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:8080/health", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:8080/health' + interval: 30s timeout: 10s retries: 3 @@ -42,27 +41,26 @@ services: prometheus: <<: *defaults image: ${GLOBAL_REGISTRY:-}prom/prometheus:${PROMETHEUS_VERSION:-v3.8.1} - profiles: ["telemetry"] + profiles: [telemetry] volumes: - ./config/prometheus.yml:/etc/prometheus/prometheus.yml - prometheus_data:/prometheus command: - - "--config.file=/etc/prometheus/prometheus.yml" - - "--storage.tsdb.path=/prometheus" - - "--web.console.libraries=/usr/share/prometheus/console_libraries" - - "--web.console.templates=/usr/share/prometheus/consoles" + - --config.file=/etc/prometheus/prometheus.yml + - --storage.tsdb.path=/prometheus + - --web.console.libraries=/usr/share/prometheus/console_libraries + - --web.console.templates=/usr/share/prometheus/consoles ports: - - "${PROMETHEUS_PORT:-29090}:9090" + - '${PROMETHEUS_PORT:-29090}:9090' healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:9090/-/healthy", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:9090/-/healthy' + interval: 30s timeout: 10s retries: 3 @@ -79,7 +77,7 @@ services: grafana: <<: *defaults image: ${GLOBAL_REGISTRY:-}grafana/grafana:${GRAFANA_VERSION:-12.3.1} - profiles: ["telemetry"] + profiles: [telemetry] volumes: - ./config/grafana/datasources.yml:/etc/grafana/provisioning/datasources/datasources.yml - grafana_data:/var/lib/grafana @@ -88,17 +86,16 @@ services: - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD:-admin} - GF_USERS_ALLOW_SIGN_UP=false ports: - - "${GRAFANA_PORT:-23000}:3000" + - '${GRAFANA_PORT:-23000}:3000' healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:3000/api/health", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:3000/api/health' + interval: 30s timeout: 10s retries: 3 diff --git a/src/budibase/docker-compose.yaml b/src/budibase/docker-compose.yaml index 6ac4739..cffa567 100644 --- a/src/budibase/docker-compose.yaml +++ b/src/budibase/docker-compose.yaml @@ -31,7 +31,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: budibase: @@ -39,7 +39,7 @@ services: image: ${GLOBAL_REGISTRY:-}budibase/budibase:${BUDIBASE_VERSION:-3.23.0} container_name: budibase ports: - - "${BUDIBASE_PORT_OVERRIDE:-10000}:80" + - '${BUDIBASE_PORT_OVERRIDE:-10000}:80' environment: # Core settings - APP_PORT=${BUDIBASE_APP_PORT:-4002} @@ -75,14 +75,13 @@ services: condition: service_healthy healthcheck: test: - [ - "CMD", - "wget", - "--quiet", - "--tries=1", - "--spider", - "http://localhost/health", - ] + - CMD + - wget + - --quiet + - --tries=1 + - --spider + - 'http://localhost/health' + interval: 30s timeout: 10s retries: 3 @@ -90,11 +89,11 @@ services: deploy: resources: limits: - cpus: "${BUDIBASE_CPU_LIMIT:-2.0}" - memory: "${BUDIBASE_MEMORY_LIMIT:-2G}" + cpus: '${BUDIBASE_CPU_LIMIT:-2.0}' + memory: '${BUDIBASE_MEMORY_LIMIT:-2G}' reservations: - cpus: "${BUDIBASE_CPU_RESERVATION:-0.5}" - memory: "${BUDIBASE_MEMORY_RESERVATION:-512M}" + cpus: '${BUDIBASE_CPU_RESERVATION:-0.5}' + memory: '${BUDIBASE_MEMORY_RESERVATION:-512M}' redis: <<: *defaults @@ -104,18 +103,18 @@ services: volumes: - redis_data:/data healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 5s retries: 5 deploy: resources: limits: - cpus: "${REDIS_CPU_LIMIT:-0.5}" - memory: "${REDIS_MEMORY_LIMIT:-512M}" + cpus: '${REDIS_CPU_LIMIT:-0.5}' + memory: '${REDIS_MEMORY_LIMIT:-512M}' reservations: - cpus: "${REDIS_CPU_RESERVATION:-0.1}" - memory: "${REDIS_MEMORY_RESERVATION:-128M}" + cpus: '${REDIS_CPU_RESERVATION:-0.1}' + memory: '${REDIS_MEMORY_RESERVATION:-128M}' volumes: budibase_data: diff --git a/src/bytebot/docker-compose.yaml b/src/bytebot/docker-compose.yaml index 206cb98..ea23a50 100644 --- a/src/bytebot/docker-compose.yaml +++ b/src/bytebot/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: bytebot-desktop: <<: *defaults image: ${GHCR_IO_REGISTRY:-ghcr.io}/bytebot-ai/bytebot-desktop:${BYTEBOT_VERSION:-edge} ports: - - "${BYTEBOT_DESKTOP_PORT_OVERRIDE:-9990}:9990" + - '${BYTEBOT_DESKTOP_PORT_OVERRIDE:-9990}:9990' environment: - TZ=${TZ:-UTC} shm_size: 2gb @@ -25,14 +25,13 @@ services: memory: ${BYTEBOT_DESKTOP_MEMORY_RESERVATION:-2G} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:9990/", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:9990/' + interval: 30s timeout: 10s retries: 3 @@ -47,7 +46,7 @@ services: bytebot-db: condition: service_healthy ports: - - "${BYTEBOT_AGENT_PORT_OVERRIDE:-9991}:9991" + - '${BYTEBOT_AGENT_PORT_OVERRIDE:-9991}:9991' environment: - TZ=${TZ:-UTC} - BYTEBOTD_URL=http://bytebot-desktop:9990 @@ -65,14 +64,13 @@ services: memory: ${BYTEBOT_AGENT_MEMORY_RESERVATION:-512M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:9991/health", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:9991/health' + interval: 30s timeout: 10s retries: 3 @@ -85,7 +83,7 @@ services: bytebot-agent: condition: service_healthy ports: - - "${BYTEBOT_UI_PORT_OVERRIDE:-9992}:9992" + - '${BYTEBOT_UI_PORT_OVERRIDE:-9992}:9992' environment: - TZ=${TZ:-UTC} - BYTEBOT_AGENT_BASE_URL=http://localhost:9991 @@ -100,14 +98,13 @@ services: memory: ${BYTEBOT_UI_MEMORY_RESERVATION:-256M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:9992/", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:9992/' + interval: 30s timeout: 10s retries: 3 @@ -133,7 +130,7 @@ services: cpus: ${BYTEBOT_DB_CPU_RESERVATION:-0.25} memory: ${BYTEBOT_DB_MEMORY_RESERVATION:-256M} 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 timeout: 10s retries: 3 diff --git a/src/cassandra/README.md b/src/cassandra/README.md index 33b574a..30dc1aa 100644 --- a/src/cassandra/README.md +++ b/src/cassandra/README.md @@ -57,7 +57,7 @@ Please modify the `.env` file as needed for your use case. ```sql -- Create a keyspace -CREATE KEYSPACE test_keyspace +CREATE KEYSPACE test_keyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; -- Use the keyspace @@ -71,7 +71,7 @@ CREATE TABLE users ( ); -- Insert data -INSERT INTO users (id, name, email) +INSERT INTO users (id, name, email) VALUES (uuid(), 'John Doe', 'john@example.com'); -- Query data diff --git a/src/cassandra/README.zh.md b/src/cassandra/README.zh.md index a6c692b..8030749 100644 --- a/src/cassandra/README.zh.md +++ b/src/cassandra/README.zh.md @@ -57,7 +57,7 @@ ```sql -- 创建键空间 -CREATE KEYSPACE test_keyspace +CREATE KEYSPACE test_keyspace 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'); -- 查询数据 diff --git a/src/cassandra/docker-compose.yaml b/src/cassandra/docker-compose.yaml index 0ee9fc0..7adf6dc 100644 --- a/src/cassandra/docker-compose.yaml +++ b/src/cassandra/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: cassandra: <<: *defaults image: ${GLOBAL_REGISTRY:-}cassandra:${CASSANDRA_VERSION:-5.0.2} ports: - - "${CASSANDRA_CQL_PORT_OVERRIDE:-9042}:9042" - - "${CASSANDRA_THRIFT_PORT_OVERRIDE:-9160}:9160" + - '${CASSANDRA_CQL_PORT_OVERRIDE:-9042}:9042' + - '${CASSANDRA_THRIFT_PORT_OVERRIDE:-9160}:9160' volumes: - cassandra_data:/var/lib/cassandra - cassandra_logs:/var/log/cassandra @@ -39,7 +39,7 @@ services: cpus: ${CASSANDRA_CPU_RESERVATION:-0.50} memory: ${CASSANDRA_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD-SHELL", "cqlsh -e 'DESCRIBE CLUSTER'"] + test: [CMD-SHELL, "cqlsh -e 'DESCRIBE CLUSTER'"] interval: 30s timeout: 10s retries: 5 diff --git a/src/clash/docker-compose.yaml b/src/clash/docker-compose.yaml index 98b26be..2a00613 100644 --- a/src/clash/docker-compose.yaml +++ b/src/clash/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: clash: <<: *defaults image: ${GLOBAL_REGISTRY:-}centralx/clash:${CLASH_VERSION:-1.18.0} ports: - - "7880:80" - - "7890:7890" + - '7880:80' + - '7890:7890' volumes: - ./config.yaml:/home/runner/.config/clash/config.yaml environment: @@ -26,7 +26,7 @@ services: cpus: ${CLASH_CPU_RESERVATION:-0.25} memory: ${CLASH_MEMORY_RESERVATION:-256M} 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 timeout: 10s retries: 3 diff --git a/src/clickhouse/docker-compose.yaml b/src/clickhouse/docker-compose.yaml index 891896b..8cb030b 100644 --- a/src/clickhouse/docker-compose.yaml +++ b/src/clickhouse/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: clickhouse: @@ -24,10 +24,10 @@ services: # - ./config.xml:/etc/clickhouse-server/config.d/config.xml # - ./users.xml:/etc/clickhouse-server/users.d/users.xml ports: - - "${CLICKHOUSE_HTTP_PORT_OVERRIDE:-8123}:8123" - - "${CLICKHOUSE_NATIVE_PORT_OVERRIDE:-9000}:9000" - - "${CLICKHOUSE_MYSQL_PORT_OVERRIDE:-9004}:9004" - - "${CLICKHOUSE_POSTGRES_PORT_OVERRIDE:-9005}:9005" + - '${CLICKHOUSE_HTTP_PORT_OVERRIDE:-8123}:8123' + - '${CLICKHOUSE_NATIVE_PORT_OVERRIDE:-9000}:9000' + - '${CLICKHOUSE_MYSQL_PORT_OVERRIDE:-9004}:9004' + - '${CLICKHOUSE_POSTGRES_PORT_OVERRIDE:-9005}:9005' ulimits: nofile: soft: 262144 @@ -42,10 +42,9 @@ services: memory: ${CLICKHOUSE_MEMORY_RESERVATION:-1G} healthcheck: test: - [ - "CMD-SHELL", - "wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1", - ] + - CMD-SHELL + - 'wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1' + interval: 30s timeout: 10s retries: 3 diff --git a/src/conductor/docker-compose.yaml b/src/conductor/docker-compose.yaml index da1d09c..7708619 100644 --- a/src/conductor/docker-compose.yaml +++ b/src/conductor/docker-compose.yaml @@ -29,7 +29,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: conductor-server: @@ -40,8 +40,8 @@ services: dockerfile: Dockerfile container_name: conductor-server ports: - - "${CONDUCTOR_SERVER_PORT_OVERRIDE:-8080}:8080" - - "${CONDUCTOR_UI_PORT_OVERRIDE:-5000}:5000" + - '${CONDUCTOR_SERVER_PORT_OVERRIDE:-8080}:8080' + - '${CONDUCTOR_UI_PORT_OVERRIDE:-5000}:5000' environment: # Database configuration - spring.datasource.url=jdbc:postgresql://postgres:5432/${POSTGRES_DB} @@ -67,14 +67,13 @@ services: condition: service_healthy healthcheck: test: - [ - "CMD", - "wget", - "--quiet", - "--tries=1", - "--spider", - "http://localhost:8080/health", - ] + - CMD + - wget + - --quiet + - --tries=1 + - --spider + - 'http://localhost:8080/health' + interval: 30s timeout: 10s retries: 5 @@ -82,11 +81,11 @@ services: deploy: resources: limits: - cpus: "${CONDUCTOR_CPU_LIMIT:-2.0}" - memory: "${CONDUCTOR_MEMORY_LIMIT:-2G}" + cpus: '${CONDUCTOR_CPU_LIMIT:-2.0}' + memory: '${CONDUCTOR_MEMORY_LIMIT:-2G}' reservations: - cpus: "${CONDUCTOR_CPU_RESERVATION:-0.5}" - memory: "${CONDUCTOR_MEMORY_RESERVATION:-512M}" + cpus: '${CONDUCTOR_CPU_RESERVATION:-0.5}' + memory: '${CONDUCTOR_MEMORY_RESERVATION:-512M}' postgres: <<: *defaults @@ -102,21 +101,20 @@ services: - postgres_data:/var/lib/postgresql/data healthcheck: test: - [ - "CMD-SHELL", - "pg_isready -U ${POSTGRES_USER:-conductor} -d ${POSTGRES_DB:-conductor}", - ] + - CMD-SHELL + - 'pg_isready -U ${POSTGRES_USER:-conductor} -d ${POSTGRES_DB:-conductor}' + interval: 10s timeout: 5s retries: 5 deploy: resources: limits: - cpus: "${POSTGRES_CPU_LIMIT:-1.0}" - memory: "${POSTGRES_MEMORY_LIMIT:-1G}" + cpus: '${POSTGRES_CPU_LIMIT:-1.0}' + memory: '${POSTGRES_MEMORY_LIMIT:-1G}' reservations: - cpus: "${POSTGRES_CPU_RESERVATION:-0.25}" - memory: "${POSTGRES_MEMORY_RESERVATION:-256M}" + cpus: '${POSTGRES_CPU_RESERVATION:-0.25}' + memory: '${POSTGRES_MEMORY_RESERVATION:-256M}' elasticsearch: <<: *defaults @@ -131,7 +129,7 @@ services: - elasticsearch_data:/usr/share/elasticsearch/data healthcheck: 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 timeout: 10s retries: 5 @@ -139,11 +137,11 @@ services: deploy: resources: limits: - cpus: "${ELASTICSEARCH_CPU_LIMIT:-2.0}" - memory: "${ELASTICSEARCH_MEMORY_LIMIT:-2G}" + cpus: '${ELASTICSEARCH_CPU_LIMIT:-2.0}' + memory: '${ELASTICSEARCH_MEMORY_LIMIT:-2G}' reservations: - cpus: "${ELASTICSEARCH_CPU_RESERVATION:-0.5}" - memory: "${ELASTICSEARCH_MEMORY_RESERVATION:-1G}" + cpus: '${ELASTICSEARCH_CPU_RESERVATION:-0.5}' + memory: '${ELASTICSEARCH_MEMORY_RESERVATION:-1G}' volumes: postgres_data: diff --git a/src/consul/docker-compose.yaml b/src/consul/docker-compose.yaml index 5c2c528..df9fcdb 100644 --- a/src/consul/docker-compose.yaml +++ b/src/consul/docker-compose.yaml @@ -4,18 +4,18 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: consul: <<: *defaults image: ${GLOBAL_REGISTRY:-}consul:${CONSUL_VERSION:-1.20.3} ports: - - "${CONSUL_HTTP_PORT_OVERRIDE:-8500}:8500" - - "${CONSUL_DNS_PORT_OVERRIDE:-8600}:8600/udp" - - "${CONSUL_SERF_LAN_PORT_OVERRIDE:-8301}:8301" - - "${CONSUL_SERF_WAN_PORT_OVERRIDE:-8302}:8302" - - "${CONSUL_SERVER_RPC_PORT_OVERRIDE:-8300}:8300" + - '${CONSUL_HTTP_PORT_OVERRIDE:-8500}:8500' + - '${CONSUL_DNS_PORT_OVERRIDE:-8600}:8600/udp' + - '${CONSUL_SERF_LAN_PORT_OVERRIDE:-8301}:8301' + - '${CONSUL_SERF_WAN_PORT_OVERRIDE:-8302}:8302' + - '${CONSUL_SERVER_RPC_PORT_OVERRIDE:-8300}:8300' volumes: - consul_data:/consul/data - consul_config:/consul/config @@ -44,7 +44,7 @@ services: cpus: ${CONSUL_CPU_RESERVATION:-0.25} memory: ${CONSUL_MEMORY_RESERVATION:-128M} healthcheck: - test: ["CMD-SHELL", "consul members"] + test: [CMD-SHELL, consul members] interval: 30s timeout: 10s retries: 3 diff --git a/src/dnsmasq/docker-compose.yaml b/src/dnsmasq/docker-compose.yaml index 81a6908..ec4ec7e 100644 --- a/src/dnsmasq/docker-compose.yaml +++ b/src/dnsmasq/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: dnsmasq: @@ -13,8 +13,8 @@ services: volumes: - ./dnsmasq.conf:/etc/dnsmasq.conf:ro ports: - - "${DNSMASQ_DNS_PORT_OVERRIDE:-53}:53/udp" - - "${DNSMASQ_DNS_PORT_OVERRIDE:-53}:53/tcp" + - '${DNSMASQ_DNS_PORT_OVERRIDE:-53}:53/udp' + - '${DNSMASQ_DNS_PORT_OVERRIDE:-53}:53/tcp' environment: - TZ=${TZ:-UTC} cap_drop: @@ -23,7 +23,7 @@ services: - NET_ADMIN - NET_BIND_SERVICE healthcheck: - test: ["CMD", "nslookup", "-timeout=1", "localhost", "127.0.0.1"] + test: [CMD, nslookup, -timeout=1, localhost, 127.0.0.1] interval: 30s timeout: 10s retries: 3 diff --git a/src/docker-android/docker-compose.yaml b/src/docker-android/docker-compose.yaml index f0892dc..6bb2463 100644 --- a/src/docker-android/docker-compose.yaml +++ b/src/docker-android/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: docker_android: <<: *defaults image: ${GLOBAL_REGISTRY:-}halimqarroum/docker-android:${DOCKER_ANDROID_VERSION:-api-33} ports: - - "${DOCKER_ANDROID_ADB_PORT_OVERRIDE:-5555}:5555" - - "${DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE:-5554}:5554" + - '${DOCKER_ANDROID_ADB_PORT_OVERRIDE:-5555}:5555' + - '${DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE:-5554}:5554' volumes: - docker_android_data:/data - ${DOCKER_ANDROID_KEYS_DIR:-./keys}:/keys:ro @@ -24,9 +24,9 @@ services: - MEMORY=${DOCKER_ANDROID_MEMORY:-8192} - CORES=${DOCKER_ANDROID_CORES:-4} devices: - - "${DOCKER_ANDROID_KVM_DEVICE:-/dev/kvm}:/dev/kvm" + - '${DOCKER_ANDROID_KVM_DEVICE:-/dev/kvm}:/dev/kvm' 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 timeout: 10s retries: 5 @@ -46,8 +46,8 @@ services: - gpu image: ${GLOBAL_REGISTRY:-}halimqarroum/docker-android:${DOCKER_ANDROID_GPU_VERSION:-api-33-cuda} ports: - - "${DOCKER_ANDROID_ADB_PORT_OVERRIDE:-5555}:5555" - - "${DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE:-5554}:5554" + - '${DOCKER_ANDROID_ADB_PORT_OVERRIDE:-5555}:5555' + - '${DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE:-5554}:5554' volumes: - docker_android_data:/data - ${DOCKER_ANDROID_KEYS_DIR:-./keys}:/keys:ro @@ -59,9 +59,9 @@ services: - MEMORY=${DOCKER_ANDROID_MEMORY:-8192} - CORES=${DOCKER_ANDROID_CORES:-4} devices: - - "${DOCKER_ANDROID_KVM_DEVICE:-/dev/kvm}:/dev/kvm" + - '${DOCKER_ANDROID_KVM_DEVICE:-/dev/kvm}:/dev/kvm' 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 timeout: 10s retries: 5 diff --git a/src/docker-registry/docker-compose.yaml b/src/docker-registry/docker-compose.yaml index a56b8aa..1a3d419 100644 --- a/src/docker-registry/docker-compose.yaml +++ b/src/docker-registry/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: registry: @@ -33,7 +33,7 @@ services: cpus: ${REGISTRY_CPU_RESERVATION:-0.1} memory: ${REGISTRY_MEMORY_RESERVATION:-128M} 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 timeout: 10s retries: 3 diff --git a/src/dockge/docker-compose.yaml b/src/dockge/docker-compose.yaml index c02ff88..e4ea42e 100644 --- a/src/dockge/docker-compose.yaml +++ b/src/dockge/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: dockge: <<: *defaults image: ${GLOBAL_REGISTRY:-}louislam/dockge:${DOCKGE_VERSION:-1} ports: - - "${PORT_OVERRIDE:-5001}:5001" + - '${PORT_OVERRIDE:-5001}:5001' volumes: - /var/run/docker.sock:/var/run/docker.sock - dockge_data:/app/data @@ -30,7 +30,7 @@ services: cpus: ${DOCKGE_CPU_RESERVATION:-0.25} memory: ${DOCKGE_MEMORY_RESERVATION:-256M} 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 timeout: 10s retries: 3 diff --git a/src/doris/docker-compose.yaml b/src/doris/docker-compose.yaml index 64fc3fb..1bd3eff 100644 --- a/src/doris/docker-compose.yaml +++ b/src/doris/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: # Doris Frontend (FE) node @@ -17,10 +17,10 @@ services: image: ${GLOBAL_REGISTRY:-}apache/doris:${DORIS_VERSION:-3.0.0}-fe-x86_64 hostname: doris-fe ports: - - "${DORIS_FE_QUERY_PORT_OVERRIDE:-9030}:9030" - - "${DORIS_FE_HTTP_PORT_OVERRIDE:-8030}:8030" - - "${DORIS_FE_RPC_PORT_OVERRIDE:-9020}:9020" - - "${DORIS_FE_EDIT_LOG_PORT_OVERRIDE:-9010}:9010" + - '${DORIS_FE_QUERY_PORT_OVERRIDE:-9030}:9030' + - '${DORIS_FE_HTTP_PORT_OVERRIDE:-8030}:8030' + - '${DORIS_FE_RPC_PORT_OVERRIDE:-9020}:9020' + - '${DORIS_FE_EDIT_LOG_PORT_OVERRIDE:-9010}:9010' volumes: - doris_fe_data:/opt/apache-doris/fe/doris-meta environment: @@ -28,7 +28,7 @@ services: - FE_SERVERS=doris-fe:9010 - FRONTEND_REPLICAS=1 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 timeout: 10s retries: 5 @@ -48,9 +48,9 @@ services: image: ${GLOBAL_REGISTRY:-}apache/doris:${DORIS_VERSION:-3.0.0}-be-x86_64 hostname: doris-be ports: - - "${DORIS_BE_HEARTBEAT_PORT_OVERRIDE:-9050}:9050" - - "${DORIS_BE_THRIFT_RPC_PORT_OVERRIDE:-9060}:9060" - - "${DORIS_BE_HTTP_PORT_OVERRIDE:-8040}:8040" + - '${DORIS_BE_HEARTBEAT_PORT_OVERRIDE:-9050}:9050' + - '${DORIS_BE_THRIFT_RPC_PORT_OVERRIDE:-9060}:9060' + - '${DORIS_BE_HTTP_PORT_OVERRIDE:-8040}:8040' volumes: - doris_be_data:/opt/apache-doris/be/storage environment: @@ -60,7 +60,7 @@ services: doris-fe: condition: service_healthy 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 timeout: 10s retries: 5 diff --git a/src/duckdb/docker-compose.yaml b/src/duckdb/docker-compose.yaml index fcf31f7..7d39768 100644 --- a/src/duckdb/docker-compose.yaml +++ b/src/duckdb/docker-compose.yaml @@ -4,13 +4,13 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: duckdb: <<: *defaults image: ${GLOBAL_REGISTRY:-}davidgasquez/duckdb:${DUCKDB_VERSION:-v1.1.3} - command: ["duckdb", "/data/duckdb.db"] + command: [duckdb, /data/duckdb.db] stdin_open: true tty: true environment: @@ -28,7 +28,7 @@ services: cpus: ${DUCKDB_CPU_RESERVATION:-0.5} memory: ${DUCKDB_MEMORY_RESERVATION:-512M} 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 timeout: 10s retries: 3 diff --git a/src/elasticsearch/docker-compose.yaml b/src/elasticsearch/docker-compose.yaml index 2eecae7..6c01294 100644 --- a/src/elasticsearch/docker-compose.yaml +++ b/src/elasticsearch/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: elasticsearch: <<: *defaults image: docker.elastic.co/elasticsearch/elasticsearch-wolfi:${ELASTICSEARCH_VERSION:-9.3.0} ports: - - "${ELASTICSEARCH_HTTP_PORT_OVERRIDE:-9200}:9200" - - "${ELASTICSEARCH_TRANSPORT_PORT_OVERRIDE:-9300}:9300" + - '${ELASTICSEARCH_HTTP_PORT_OVERRIDE:-9200}:9200' + - '${ELASTICSEARCH_TRANSPORT_PORT_OVERRIDE:-9300}:9300' volumes: - elasticsearch_data:/usr/share/elasticsearch/data - elasticsearch_logs:/usr/share/elasticsearch/logs @@ -28,7 +28,7 @@ services: - xpack.security.enabled=${ELASTICSEARCH_SECURITY_ENABLED:-false} - xpack.security.http.ssl.enabled=${ELASTICSEARCH_SSL_ENABLED:-false} - xpack.security.transport.ssl.enabled=${ELASTICSEARCH_SSL_ENABLED:-false} - - "ES_JAVA_OPTS=-Xms${ELASTICSEARCH_HEAP_SIZE:-1g} -Xmx${ELASTICSEARCH_HEAP_SIZE:-1g}" + - 'ES_JAVA_OPTS=-Xms${ELASTICSEARCH_HEAP_SIZE:-1g} -Xmx${ELASTICSEARCH_HEAP_SIZE:-1g}' ulimits: memlock: soft: -1 @@ -43,7 +43,7 @@ services: memory: ${ELASTICSEARCH_MEMORY_RESERVATION:-1G} healthcheck: 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 timeout: 10s retries: 5 diff --git a/src/etcd/docker-compose.yaml b/src/etcd/docker-compose.yaml index 656f8af..49276ed 100644 --- a/src/etcd/docker-compose.yaml +++ b/src/etcd/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: etcd: <<: *defaults image: quay.io/coreos/etcd:${ETCD_VERSION:-v3.6.0} ports: - - "${ETCD_CLIENT_PORT_OVERRIDE:-2379}:2379" - - "${ETCD_PEER_PORT_OVERRIDE:-2380}:2380" + - '${ETCD_CLIENT_PORT_OVERRIDE:-2379}:2379' + - '${ETCD_PEER_PORT_OVERRIDE:-2380}:2380' volumes: - etcd_data:/etcd-data environment: @@ -56,7 +56,7 @@ services: cpus: ${ETCD_CPU_RESERVATION:-0.25} memory: ${ETCD_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "etcdctl", "endpoint", "health"] + test: [CMD, etcdctl, endpoint, health] interval: 30s timeout: 10s retries: 3 diff --git a/src/falkordb/docker-compose.yaml b/src/falkordb/docker-compose.yaml index 7e82dd9..1099de2 100644 --- a/src/falkordb/docker-compose.yaml +++ b/src/falkordb/docker-compose.yaml @@ -4,21 +4,21 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: falkordb: <<: *defaults image: ${GLOBAL_REGISTRY:-}falkordb/falkordb:${FALKORDB_VERSION:-v4.14.11} ports: - - "${FALKORDB_PORT_OVERRIDE:-6379}:6379" - - "${FALKORDB_BROWSER_PORT_OVERRIDE:-3000}:3000" + - '${FALKORDB_PORT_OVERRIDE:-6379}:6379' + - '${FALKORDB_BROWSER_PORT_OVERRIDE:-3000}:3000' volumes: - falkordb_data:/data environment: - TZ=${TZ:-UTC} healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 30s timeout: 10s retries: 3 diff --git a/src/firecrawl/docker-compose.yaml b/src/firecrawl/docker-compose.yaml index 6378bb6..5d6dbbe 100644 --- a/src/firecrawl/docker-compose.yaml +++ b/src/firecrawl/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' x-common-env: &common-env REDIS_URL: ${REDIS_URL:-redis://redis:6379} @@ -73,7 +73,7 @@ services: nuq-postgres: condition: service_started ports: - - "${FIRECRAWL_PORT_OVERRIDE:-3002}:${INTERNAL_PORT:-3002}" + - '${FIRECRAWL_PORT_OVERRIDE:-3002}:${INTERNAL_PORT:-3002}' command: node dist/src/harness.js --start-docker deploy: resources: @@ -85,14 +85,13 @@ services: memory: ${FIRECRAWL_API_MEMORY_RESERVATION:-2G} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:3002/health", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:3002/health' + interval: 30s timeout: 10s retries: 3 @@ -113,7 +112,7 @@ services: cpus: ${REDIS_CPU_RESERVATION:-0.25} memory: ${REDIS_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 3s retries: 3 @@ -127,7 +126,7 @@ services: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres} POSTGRES_DB: ${POSTGRES_DB:-postgres} ports: - - "${POSTGRES_PORT_OVERRIDE:-5432}:5432" + - '${POSTGRES_PORT_OVERRIDE:-5432}:5432' volumes: - postgres_data:/var/lib/postgresql/data deploy: @@ -139,7 +138,7 @@ services: cpus: ${NUQPOSTGRES_CPU_RESERVATION:-0.5} memory: ${NUQPOSTGRES_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres}"] + test: [CMD-SHELL, 'pg_isready -U ${POSTGRES_USER:-postgres}'] interval: 10s timeout: 5s retries: 5 diff --git a/src/flink/docker-compose.yaml b/src/flink/docker-compose.yaml index 2fdfc91..7409fd6 100644 --- a/src/flink/docker-compose.yaml +++ b/src/flink/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: jobmanager: @@ -24,8 +24,8 @@ services: # Custom Flink jobs # - ./jobs:/opt/flink/jobs ports: - - "${FLINK_JOBMANAGER_RPC_PORT_OVERRIDE:-6123}:6123" - - "${FLINK_JOBMANAGER_UI_PORT_OVERRIDE:-8081}:8081" + - '${FLINK_JOBMANAGER_RPC_PORT_OVERRIDE:-6123}:6123' + - '${FLINK_JOBMANAGER_UI_PORT_OVERRIDE:-8081}:8081' deploy: resources: limits: @@ -35,7 +35,7 @@ services: cpus: ${FLINK_JOBMANAGER_CPU_RESERVATION:-0.5} memory: ${FLINK_JOBMANAGER_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:8081 || exit 1"] + test: [CMD-SHELL, 'wget --no-verbose --tries=1 --spider http://localhost:8081 || exit 1'] interval: 30s timeout: 10s retries: 3 @@ -68,7 +68,7 @@ services: cpus: ${FLINK_TASKMANAGER_CPU_RESERVATION:-0.5} memory: ${FLINK_TASKMANAGER_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD-SHELL", "ps aux | grep -v grep | grep -q taskmanager || exit 1"] + test: [CMD-SHELL, 'ps aux | grep -v grep | grep -q taskmanager || exit 1'] interval: 30s timeout: 10s retries: 3 diff --git a/src/flowise/docker-compose.yaml b/src/flowise/docker-compose.yaml index 1dea59c..cdee349 100644 --- a/src/flowise/docker-compose.yaml +++ b/src/flowise/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: flowise: <<: *defaults image: ${GLOBAL_REGISTRY:-}flowiseai/flowise:${FLOWISE_VERSION:-3.0.12} ports: - - "${FLOWISE_PORT_OVERRIDE:-3000}:3000" + - '${FLOWISE_PORT_OVERRIDE:-3000}:3000' volumes: - flowise_data:/root/.flowise environment: @@ -21,12 +21,11 @@ services: - FLOWISE_PASSWORD=${FLOWISE_PASSWORD:-} healthcheck: test: - [ - "CMD", - "node", - "-e", - "require('http').get('http://localhost:3000/api/v1/ping',res=>process.exit(res.statusCode===200?0:1)).on('error',()=>process.exit(1))" - ] + - CMD + - node + - -e + - "require('http').get('http://localhost:3000/api/v1/ping',res=>process.exit(res.statusCode===200?0:1)).on('error',()=>process.exit(1))" + interval: 30s timeout: 10s retries: 5 diff --git a/src/frpc/docker-compose.yaml b/src/frpc/docker-compose.yaml index 09cc76e..0fc3fd2 100644 --- a/src/frpc/docker-compose.yaml +++ b/src/frpc/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: frpc: <<: *defaults image: ${GLOBAL_REGISTRY:-}snowdreamtech/frpc:${FRPC_VERSION:-0.65.0} ports: - - "${FRP_ADMIN_PORT:-7400}:${FRP_ADMIN_PORT:-7400}" + - '${FRP_ADMIN_PORT:-7400}:${FRP_ADMIN_PORT:-7400}' volumes: - ./frpc.toml:/etc/frp/frpc.toml environment: @@ -25,7 +25,7 @@ services: FRP_ADMIN_USER: ${FRP_ADMIN_USER:-admin} FRP_ADMIN_PASSWORD: ${FRP_ADMIN_PASSWORD:-password} extra_hosts: - - "host.docker.internal:host-gateway" + - 'host.docker.internal:host-gateway' deploy: resources: limits: @@ -36,12 +36,11 @@ services: memory: ${FRPC_MEMORY_RESERVATION:-64M} healthcheck: test: - [ - "CMD", - "sh", - "-c", - "curl -f http://$${FRP_ADMIN_USER}:$${FRP_ADMIN_PASSWORD}@localhost:$${FRP_ADMIN_PORT}/api/status || exit 1", - ] + - CMD + - sh + - -c + - 'curl -f http://$${FRP_ADMIN_USER}:$${FRP_ADMIN_PASSWORD}@localhost:$${FRP_ADMIN_PORT}/api/status || exit 1' + interval: 30s timeout: 10s retries: 3 diff --git a/src/frps/docker-compose.yaml b/src/frps/docker-compose.yaml index 0f13f56..f27a293 100644 --- a/src/frps/docker-compose.yaml +++ b/src/frps/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: frps: @@ -26,7 +26,7 @@ services: FRP_ADMIN_USER: ${FRP_ADMIN_USER:-admin} FRP_ADMIN_PASSWORD: ${FRP_ADMIN_PASSWORD:-password} extra_hosts: - - "host.docker.internal:host-gateway" + - 'host.docker.internal:host-gateway' deploy: resources: limits: @@ -37,12 +37,11 @@ services: memory: ${FRPS_MEMORY_RESERVATION:-64M} healthcheck: test: - [ - "CMD", - "sh", - "-c", - "curl -f http://$${FRP_ADMIN_USER}:$${FRP_ADMIN_PASSWORD}@localhost:$${FRP_ADMIN_PORT}/api/serverinfo || exit 1", - ] + - CMD + - sh + - -c + - 'curl -f http://$${FRP_ADMIN_USER}:$${FRP_ADMIN_PASSWORD}@localhost:$${FRP_ADMIN_PORT}/api/serverinfo || exit 1' + interval: 30s timeout: 10s retries: 3 diff --git a/src/gitea-runner/README.md b/src/gitea-runner/README.md index 7d68db5..975e869 100644 --- a/src/gitea-runner/README.md +++ b/src/gitea-runner/README.md @@ -17,8 +17,8 @@ This service sets up a Gitea Runner. ```yaml cache: enabled: true - dir: "" - host: "192.168.8.17" + dir: '' + host: 192.168.8.17 port: 8088 ``` diff --git a/src/gitea-runner/README.zh.md b/src/gitea-runner/README.zh.md index 6fad194..3f8584a 100644 --- a/src/gitea-runner/README.zh.md +++ b/src/gitea-runner/README.zh.md @@ -17,8 +17,8 @@ ```yaml cache: enabled: true - dir: "" - host: "192.168.8.17" + dir: '' + host: 192.168.8.17 port: 8088 ``` diff --git a/src/gitea-runner/config.yaml b/src/gitea-runner/config.yaml index bc6b777..31eac4c 100644 --- a/src/gitea-runner/config.yaml +++ b/src/gitea-runner/config.yaml @@ -36,40 +36,40 @@ runner: # It works when something like `uses: actions/checkout@v4` is used and DEFAULT_ACTIONS_URL is set to github, # and github_mirror is not empty. In this case, # it replaces https://github.com with the value here, which is useful for some special network environments. - github_mirror: "" + github_mirror: '' # The labels of a runner are used to determine which jobs the runner can run, and how to run them. # Like: "macos-arm64:host" or "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" # Find more images provided by Gitea at https://gitea.com/docker.gitea.com/runner-images . # If it's empty when registering, it will ask for inputting labels. # If it's empty when execute `daemon`, will use labels in `.runner` file. labels: - - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" - - "ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04" - - "ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04" + - 'ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest' + - 'ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04' + - 'ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04' cache: # Enable cache server to use actions/cache. enabled: true # The directory to store the cache data. # If it's empty, the cache data will be stored in $HOME/.cache/actcache. - dir: "" + dir: '' # The host of the cache server. # It's not for the address to listen, but the address to connect from job containers. # So 0.0.0.0 is a bad choice, leave it empty to detect automatically. - host: "" + host: '' # The port of the cache server. # 0 means to use a random available port. port: 0 # The external cache server URL. Valid only when enable is true. # If it's specified, act_runner will use this URL as the ACTIONS_CACHE_URL rather than start a server by itself. # The URL should generally end with "/". - external_server: "" + external_server: '' container: # Specifies the network to which the container will connect. # Could be host, bridge or the name of a custom network. # If it's empty, act_runner will create a network automatically. - network: "" + network: '' # Whether to use privileged mode or not when launching task containers (privileged mode is required for Docker-in-Docker). privileged: false # And other options to be used when the container is started (eg, --add-host=my.gitea.url:host-gateway). @@ -94,7 +94,7 @@ container: # If it's empty, act_runner will find an available docker host automatically. # If it's "-", act_runner will find an available docker host automatically, but the docker host won't be mounted to the job containers and service containers. # If it's not empty or "-", the specified docker host will be used. An error will be returned if it doesn't work. - docker_host: "" + docker_host: '' # Pull docker image(s) even if already present force_pull: true # Rebuild docker image(s) even if already present diff --git a/src/gitea-runner/docker-compose.yaml b/src/gitea-runner/docker-compose.yaml index 37c8b6a..d748a51 100644 --- a/src/gitea-runner/docker-compose.yaml +++ b/src/gitea-runner/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: gitea_runner: diff --git a/src/gitea/docker-compose.yaml b/src/gitea/docker-compose.yaml index 952dda9..23c3b00 100644 --- a/src/gitea/docker-compose.yaml +++ b/src/gitea/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: gitea: @@ -23,8 +23,8 @@ services: - gitea_data:/var/lib/gitea - gitea_config:/etc/gitea ports: - - "${GITEA_HTTP_PORT:-3000}:3000" - - "${GITEA_SSH_PORT:-2222}:2222" + - '${GITEA_HTTP_PORT:-3000}:3000' + - '${GITEA_SSH_PORT:-2222}:2222' depends_on: db: condition: service_healthy @@ -38,14 +38,13 @@ services: memory: ${GITEA_MEMORY_RESERVATION:-512M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:3000/", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:3000/' + interval: 30s timeout: 10s retries: 3 @@ -72,7 +71,7 @@ services: cpus: ${GITEA_DB_CPU_RESERVATION:-0.5} memory: ${GITEA_DB_MEMORY_RESERVATION:-512M} 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 timeout: 10s retries: 3 diff --git a/src/gitlab-runner/README.md b/src/gitlab-runner/README.md index 8f704b8..dc6333d 100644 --- a/src/gitlab-runner/README.md +++ b/src/gitlab-runner/README.md @@ -25,24 +25,23 @@ You can edit the `config.toml` file to modify the configuration: ```toml [[runners]] - [runners.docker] - tls_verify = false - pull_policy = "if-not-present" - image = "local/docker:1.0" - privileged = true - disable_entrypoint_overwrite = false - oom_kill_disable = false - disable_cache = false - volumes = [ - "/var/run/docker.sock:/var/run/docker.sock", - "/cache", - "/builds:/builds" - ] - extra_hosts = [ - "host.docker.internal:host-gateway", - ] - shm_size = 0 - network_mtu = 0 + +[runners.docker] +tls_verify = false +pull_policy = "if-not-present" +image = "local/docker:1.0" +privileged = true +disable_entrypoint_overwrite = false +oom_kill_disable = false +disable_cache = false +volumes = [ + "/var/run/docker.sock:/var/run/docker.sock", + "/cache", + "/builds:/builds" +] +extra_hosts = [ "host.docker.internal:host-gateway", ] +shm_size = 0 +network_mtu = 0 ``` ## Services diff --git a/src/gitlab-runner/README.zh.md b/src/gitlab-runner/README.zh.md index 59bf270..9745597 100644 --- a/src/gitlab-runner/README.zh.md +++ b/src/gitlab-runner/README.zh.md @@ -25,24 +25,23 @@ ```toml [[runners]] - [runners.docker] - tls_verify = false - pull_policy = "if-not-present" - image = "local/docker:1.0" - privileged = true - disable_entrypoint_overwrite = false - oom_kill_disable = false - disable_cache = false - volumes = [ - "/var/run/docker.sock:/var/run/docker.sock", - "/cache", - "/builds:/builds" - ] - extra_hosts = [ - "host.docker.internal:host-gateway", - ] - shm_size = 0 - network_mtu = 0 + +[runners.docker] +tls_verify = false +pull_policy = "if-not-present" +image = "local/docker:1.0" +privileged = true +disable_entrypoint_overwrite = false +oom_kill_disable = false +disable_cache = false +volumes = [ + "/var/run/docker.sock:/var/run/docker.sock", + "/cache", + "/builds:/builds" +] +extra_hosts = [ "host.docker.internal:host-gateway", ] +shm_size = 0 +network_mtu = 0 ``` ## 服务 diff --git a/src/gitlab-runner/docker-compose.yaml b/src/gitlab-runner/docker-compose.yaml index 3c930b0..6932887 100644 --- a/src/gitlab-runner/docker-compose.yaml +++ b/src/gitlab-runner/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: gitlab-runner: diff --git a/src/gitlab/docker-compose.yaml b/src/gitlab/docker-compose.yaml index 3df3eec..3e44f5e 100644 --- a/src/gitlab/docker-compose.yaml +++ b/src/gitlab/docker-compose.yaml @@ -4,16 +4,16 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: gitlab: <<: *defaults image: ${GLOBAL_REGISTRY:-}gitlab/gitlab-ce:${GITLAB_VERSION:-18.8.3-ce.0} ports: - - "${GITLAB_PORT_OVERRIDE_HTTPS:-5443}:443" - - "${GITLAB_PORT_OVERRIDE_HTTP:-5080}:80" - - "${GITLAB_PORT_OVERRIDE_SSH:-5022}:22" + - '${GITLAB_PORT_OVERRIDE_HTTPS:-5443}:443' + - '${GITLAB_PORT_OVERRIDE_HTTP:-5080}:80' + - '${GITLAB_PORT_OVERRIDE_SSH:-5022}:22' volumes: - ./config:/etc/gitlab - gitlab_logs:/var/log/gitlab @@ -30,7 +30,7 @@ services: cpus: ${GITLAB_CPU_RESERVATION:-1.0} memory: ${GITLAB_MEMORY_RESERVATION:-4G} healthcheck: - test: ["CMD", "/opt/gitlab/bin/gitlab-healthcheck", "--fail"] + test: [CMD, /opt/gitlab/bin/gitlab-healthcheck, --fail] interval: 60s timeout: 30s retries: 5 diff --git a/src/gpustack/README.md b/src/gpustack/README.md index 678b98a..255f72a 100644 --- a/src/gpustack/README.md +++ b/src/gpustack/README.md @@ -50,8 +50,8 @@ deploy: reservations: devices: - driver: nvidia - device_ids: [ '0' ] - capabilities: [ gpu ] + device_ids: ['0'] + capabilities: [gpu] ``` ### Requirements @@ -78,8 +78,8 @@ To use AMD GPUs with ROCm support: reservations: devices: - driver: amdgpu - device_ids: [ '0' ] - capabilities: [ gpu ] + device_ids: ['0'] + capabilities: [gpu] ``` ## Usage diff --git a/src/gpustack/README.zh.md b/src/gpustack/README.zh.md index 8c07352..74e6f65 100644 --- a/src/gpustack/README.zh.md +++ b/src/gpustack/README.zh.md @@ -50,8 +50,8 @@ deploy: reservations: devices: - driver: nvidia - device_ids: [ '0' ] - capabilities: [ gpu ] + device_ids: ['0'] + capabilities: [gpu] ``` ### 要求 @@ -78,8 +78,8 @@ deploy: reservations: devices: - driver: amdgpu - device_ids: [ '0' ] - capabilities: [ gpu ] + device_ids: ['0'] + capabilities: [gpu] ``` ## 使用方法 diff --git a/src/gpustack/docker-compose.yaml b/src/gpustack/docker-compose.yaml index 2c96a13..4889a47 100644 --- a/src/gpustack/docker-compose.yaml +++ b/src/gpustack/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: gpustack: <<: *defaults image: ${GLOBAL_REGISTRY:-}gpustack/gpustack:${GPUSTACK_VERSION:-v0.7.1} ports: - - "${GPUSTACK_PORT_OVERRIDE:-80}:80" + - '${GPUSTACK_PORT_OVERRIDE:-80}:80' volumes: - gpustack_data:/var/lib/gpustack environment: @@ -33,10 +33,10 @@ services: memory: ${GPUSTACK_MEMORY_RESERVATION:-4G} devices: - driver: nvidia - device_ids: [ '0' ] - capabilities: [ gpu ] + device_ids: ['0'] + capabilities: [gpu] healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:80/health"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:80/health'] interval: 30s timeout: 10s retries: 3 diff --git a/src/grafana/docker-compose.yaml b/src/grafana/docker-compose.yaml index 01cb3b0..78a3961 100644 --- a/src/grafana/docker-compose.yaml +++ b/src/grafana/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: grafana: <<: *defaults image: ${GLOBAL_REGISTRY:-}grafana/grafana:${GRAFANA_VERSION:-12.3.2} ports: - - "${GRAFANA_PORT_OVERRIDE:-3000}:3000" + - '${GRAFANA_PORT_OVERRIDE:-3000}:3000' volumes: - grafana_data:/var/lib/grafana - grafana_logs:/var/log/grafana @@ -27,7 +27,7 @@ services: - GF_INSTALL_PLUGINS=${GRAFANA_PLUGINS:-} - GF_SERVER_ROOT_URL=${GRAFANA_ROOT_URL:-http://localhost:3000} - GF_SECURITY_SECRET_KEY=${GRAFANA_SECRET_KEY:-} - user: "472:472" # Grafana user + user: '472:472' # Grafana user deploy: resources: limits: @@ -38,14 +38,13 @@ services: memory: ${GRAFANA_MEMORY_RESERVATION:-256M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:3000/api/health", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:3000/api/health' + interval: 30s timeout: 10s retries: 3 diff --git a/src/halo/docker-compose.yaml b/src/halo/docker-compose.yaml index c724933..a6d9a71 100644 --- a/src/halo/docker-compose.yaml +++ b/src/halo/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: halo: <<: *defaults image: ${GLOBAL_REGISTRY:-}halohub/halo:${HALO_VERSION:-2.21.9} ports: - - "${HALO_PORT:-8090}:8090" + - '${HALO_PORT:-8090}:8090' volumes: - halo_data:/root/.halo2 environment: @@ -35,7 +35,7 @@ services: cpus: ${HALO_CPU_RESERVATION:-0.5} memory: ${HALO_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8090/actuator/health"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:8090/actuator/health'] interval: 30s timeout: 10s retries: 3 @@ -53,7 +53,7 @@ services: volumes: - halo_db_data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready"] + test: [CMD-SHELL, pg_isready] interval: 10s timeout: 5s retries: 5 diff --git a/src/harbor/docker-compose.yaml b/src/harbor/docker-compose.yaml index 033c057..51f38e5 100644 --- a/src/harbor/docker-compose.yaml +++ b/src/harbor/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: # Harbor Core @@ -47,7 +47,7 @@ services: cpus: ${HARBOR_CORE_CPU_RESERVATION:-0.5} memory: ${HARBOR_CORE_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/api/v2.0/ping"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:8080/api/v2.0/ping'] interval: 30s timeout: 10s retries: 3 @@ -102,7 +102,7 @@ services: cpus: ${HARBOR_REGISTRY_CPU_RESERVATION:-0.25} memory: ${HARBOR_REGISTRY_MEMORY_RESERVATION:-512M} 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 timeout: 10s retries: 3 @@ -128,8 +128,8 @@ services: <<: *defaults image: ${GLOBAL_REGISTRY:-}goharbor/nginx-photon:${HARBOR_VERSION:-v2.12.0} ports: - - "${HARBOR_HTTP_PORT_OVERRIDE:-80}:8080" - - "${HARBOR_HTTPS_PORT_OVERRIDE:-443}:8443" + - '${HARBOR_HTTP_PORT_OVERRIDE:-80}:8080' + - '${HARBOR_HTTPS_PORT_OVERRIDE:-443}:8443' depends_on: harbor-core: condition: service_healthy @@ -148,7 +148,7 @@ services: cpus: ${HARBOR_PROXY_CPU_RESERVATION:-0.25} memory: ${HARBOR_PROXY_MEMORY_RESERVATION:-256M} 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 timeout: 10s retries: 3 @@ -173,7 +173,7 @@ services: cpus: ${HARBOR_DB_CPU_RESERVATION:-0.25} memory: ${HARBOR_DB_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD-SHELL", "pg_isready -U postgres"] + test: [CMD-SHELL, pg_isready -U postgres] interval: 30s timeout: 10s retries: 3 @@ -196,7 +196,7 @@ services: cpus: ${HARBOR_REDIS_CPU_RESERVATION:-0.10} memory: ${HARBOR_REDIS_MEMORY_RESERVATION:-64M} healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 3s retries: 3 diff --git a/src/hbase/docker-compose.yaml b/src/hbase/docker-compose.yaml index 5f439e6..16bec80 100644 --- a/src/hbase/docker-compose.yaml +++ b/src/hbase/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: hbase: @@ -17,11 +17,11 @@ services: - hbase_data:/hbase-data - hbase_zookeeper_data:/zookeeper-data ports: - - "${HBASE_MASTER_PORT_OVERRIDE:-16000}:16000" - - "${HBASE_MASTER_INFO_PORT_OVERRIDE:-16010}:16010" - - "${HBASE_REGIONSERVER_PORT_OVERRIDE:-16020}:16020" - - "${HBASE_REGIONSERVER_INFO_PORT_OVERRIDE:-16030}:16030" - - "${HBASE_ZOOKEEPER_PORT_OVERRIDE:-2181}:2181" + - '${HBASE_MASTER_PORT_OVERRIDE:-16000}:16000' + - '${HBASE_MASTER_INFO_PORT_OVERRIDE:-16010}:16010' + - '${HBASE_REGIONSERVER_PORT_OVERRIDE:-16020}:16020' + - '${HBASE_REGIONSERVER_INFO_PORT_OVERRIDE:-16030}:16030' + - '${HBASE_ZOOKEEPER_PORT_OVERRIDE:-2181}:2181' deploy: resources: limits: @@ -31,7 +31,7 @@ services: cpus: ${HBASE_CPU_RESERVATION:-1.0} memory: ${HBASE_MEMORY_RESERVATION:-2G} healthcheck: - test: ["CMD-SHELL", "echo 'status' | hbase shell -n || exit 1"] + test: [CMD-SHELL, "echo 'status' | hbase shell -n || exit 1"] interval: 30s timeout: 10s retries: 5 diff --git a/src/influxdb/docker-compose.yaml b/src/influxdb/docker-compose.yaml index f105b53..6af07af 100644 --- a/src/influxdb/docker-compose.yaml +++ b/src/influxdb/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: influxdb: @@ -24,7 +24,7 @@ services: - influxdb_data:/var/lib/influxdb2 - influxdb_config:/etc/influxdb2 ports: - - "${INFLUXDB_PORT_OVERRIDE:-8086}:8086" + - '${INFLUXDB_PORT_OVERRIDE:-8086}:8086' deploy: resources: limits: @@ -34,7 +34,7 @@ services: cpus: ${INFLUXDB_CPU_RESERVATION:-0.5} memory: ${INFLUXDB_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "influx", "ping"] + test: [CMD, influx, ping] interval: 30s timeout: 10s retries: 3 diff --git a/src/inngest/docker-compose.yaml b/src/inngest/docker-compose.yaml index ad69fac..abf592a 100644 --- a/src/inngest/docker-compose.yaml +++ b/src/inngest/docker-compose.yaml @@ -32,7 +32,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: inngest: @@ -46,8 +46,8 @@ services: --postgres-uri postgresql://${INNGEST_PG_USER:-inngest}:${INNGEST_PG_PASSWORD:-inngest}@postgres:5432/${INNGEST_PG_DB:-inngest}?sslmode=disable --redis-uri redis://redis:6379 ports: - - "${INNGEST_PORT_OVERRIDE:-8288}:8288" - - "${INNGEST_GATEWAY_PORT_OVERRIDE:-8289}:8289" + - '${INNGEST_PORT_OVERRIDE:-8288}:8288' + - '${INNGEST_GATEWAY_PORT_OVERRIDE:-8289}:8289' environment: - TZ=${TZ:-UTC} - INNGEST_EVENT_KEY=${INNGEST_EVENT_KEY:-deadbeefcafebabe0123456789abcdef} @@ -60,13 +60,12 @@ services: condition: service_healthy healthcheck: test: - [ - "CMD", - "wget", - "--spider", - "--quiet", - "http://localhost:8288/v0/health", - ] + - CMD + - wget + - --spider + - --quiet + - 'http://localhost:8288/v0/health' + interval: 30s timeout: 10s retries: 3 @@ -92,10 +91,9 @@ services: - POSTGRES_DB=${INNGEST_PG_DB:-inngest} healthcheck: test: - [ - "CMD-SHELL", - "pg_isready -U ${INNGEST_PG_USER:-inngest} -d ${INNGEST_PG_DB:-inngest}", - ] + - CMD-SHELL + - 'pg_isready -U ${INNGEST_PG_USER:-inngest} -d ${INNGEST_PG_DB:-inngest}' + interval: 10s timeout: 5s retries: 5 @@ -123,7 +121,7 @@ services: volumes: - inngest_redis_data:/data healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 3s retries: 3 diff --git a/src/jenkins/README.md b/src/jenkins/README.md index 678d06f..6a03e06 100644 --- a/src/jenkins/README.md +++ b/src/jenkins/README.md @@ -52,14 +52,14 @@ Jenkins can be configured using Configuration as Code (JCasC). Create a `jenkins Example configuration: ```yaml jenkins: - systemMessage: "Jenkins configured automatically by Jenkins Configuration as Code plugin" - + systemMessage: Jenkins configured automatically by Jenkins Configuration as Code plugin + securityRealm: local: allowsSignup: false users: - - id: admin - password: admin123 + - id: admin + password: admin123 authorizationStrategy: loggedInUsersCanDoAnything: diff --git a/src/jenkins/README.zh.md b/src/jenkins/README.zh.md index b3cd92b..867c706 100644 --- a/src/jenkins/README.zh.md +++ b/src/jenkins/README.zh.md @@ -53,14 +53,14 @@ Jenkins 可以使用配置即代码(JCasC)进行配置。创建一个 `jenki ```yaml jenkins: - systemMessage: "Jenkins configured automatically by Jenkins Configuration as Code plugin" - + systemMessage: Jenkins configured automatically by Jenkins Configuration as Code plugin + securityRealm: local: allowsSignup: false users: - - id: admin - password: admin123 + - id: admin + password: admin123 authorizationStrategy: loggedInUsersCanDoAnything: diff --git a/src/jenkins/docker-compose.yaml b/src/jenkins/docker-compose.yaml index b7e2b43..9a27212 100644 --- a/src/jenkins/docker-compose.yaml +++ b/src/jenkins/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: jenkins: <<: *defaults image: ${GLOBAL_REGISTRY:-}jenkins/jenkins:${JENKINS_VERSION:-2.541-lts-jdk17} ports: - - "${JENKINS_HTTP_PORT_OVERRIDE:-8080}:8080" - - "${JENKINS_AGENT_PORT_OVERRIDE:-50000}:50000" + - '${JENKINS_HTTP_PORT_OVERRIDE:-8080}:8080' + - '${JENKINS_AGENT_PORT_OVERRIDE:-50000}:50000' volumes: - jenkins_home:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock:ro @@ -24,7 +24,7 @@ services: - JENKINS_OPTS=${JENKINS_OPTS:---httpPort=8080} - JAVA_OPTS=${JAVA_OPTS:--Djenkins.install.runSetupWizard=false -Xmx2g} - CASC_JENKINS_CONFIG=${CASC_JENKINS_CONFIG:-/var/jenkins_home/casc_configs} - user: "${JENKINS_USER_ID:-1000}:${JENKINS_GROUP_ID:-1000}" + user: '${JENKINS_USER_ID:-1000}:${JENKINS_GROUP_ID:-1000}' deploy: resources: limits: @@ -34,7 +34,7 @@ services: cpus: ${JENKINS_CPU_RESERVATION:-0.50} memory: ${JENKINS_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD-SHELL", "curl -f http://localhost:8080/login || exit 1"] + test: [CMD-SHELL, 'curl -f http://localhost:8080/login || exit 1'] interval: 30s timeout: 10s retries: 5 diff --git a/src/kafka/docker-compose.yaml b/src/kafka/docker-compose.yaml index 8b4d162..a65aaa8 100644 --- a/src/kafka/docker-compose.yaml +++ b/src/kafka/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: # Zookeeper for Kafka coordination @@ -12,7 +12,7 @@ services: <<: *defaults image: ${GLOBAL_REGISTRY:-}confluentinc/cp-zookeeper:${KAFKA_VERSION:-7.8.0} ports: - - "${ZOOKEEPER_CLIENT_PORT_OVERRIDE:-2181}:2181" + - '${ZOOKEEPER_CLIENT_PORT_OVERRIDE:-2181}:2181' volumes: - zookeeper_data:/var/lib/zookeeper/data - zookeeper_log:/var/lib/zookeeper/log @@ -34,7 +34,7 @@ services: cpus: ${ZOOKEEPER_CPU_RESERVATION:-0.25} memory: ${ZOOKEEPER_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD-SHELL", "echo ruok | nc localhost 2181 | grep imok"] + test: [CMD-SHELL, 'echo ruok | nc localhost 2181 | grep imok'] interval: 30s timeout: 10s retries: 3 @@ -48,8 +48,8 @@ services: zookeeper: condition: service_healthy ports: - - "${KAFKA_BROKER_PORT_OVERRIDE:-9092}:9092" - - "${KAFKA_JMX_PORT_OVERRIDE:-9999}:9999" + - '${KAFKA_BROKER_PORT_OVERRIDE:-9092}:9092' + - '${KAFKA_JMX_PORT_OVERRIDE:-9999}:9999' volumes: - kafka_data:/var/lib/kafka/data environment: @@ -83,10 +83,9 @@ services: memory: ${KAFKA_MEMORY_RESERVATION:-1G} healthcheck: test: - [ - "CMD-SHELL", - "kafka-broker-api-versions --bootstrap-server localhost:9092", - ] + - CMD-SHELL + - 'kafka-broker-api-versions --bootstrap-server localhost:9092' + interval: 30s timeout: 10s retries: 5 @@ -104,7 +103,7 @@ services: zookeeper: condition: service_healthy ports: - - "${KAFKA_UI_PORT_OVERRIDE:-8080}:8080" + - '${KAFKA_UI_PORT_OVERRIDE:-8080}:8080' environment: - TZ=${TZ:-UTC} - KAFKA_CLUSTERS_0_NAME=local diff --git a/src/kestra/docker-compose.yaml b/src/kestra/docker-compose.yaml index 6dc6195..3db05db 100644 --- a/src/kestra/docker-compose.yaml +++ b/src/kestra/docker-compose.yaml @@ -30,7 +30,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: kestra: @@ -39,8 +39,8 @@ services: container_name: kestra command: server standalone ports: - - "${KESTRA_PORT_OVERRIDE:-8080}:8080" - - "${KESTRA_MANAGEMENT_PORT:-8081}:8081" + - '${KESTRA_PORT_OVERRIDE:-8080}:8080' + - '${KESTRA_MANAGEMENT_PORT:-8081}:8081' environment: # Database configuration - KESTRA_CONFIGURATION=datasources.postgres.url=jdbc:postgresql://postgres:5432/${POSTGRES_DB} @@ -71,12 +71,12 @@ services: volumes: - kestra_data:/app/storage - kestra_logs:/app/logs - - /var/run/docker.sock:/var/run/docker.sock:ro # For Docker task runner + - /var/run/docker.sock:/var/run/docker.sock:ro # For Docker task runner depends_on: postgres: condition: service_healthy healthcheck: - test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8080/health"] + test: [CMD, wget, --quiet, --tries=1, --spider, 'http://localhost:8080/health'] interval: 30s timeout: 10s retries: 5 @@ -84,11 +84,11 @@ services: deploy: resources: limits: - cpus: "${KESTRA_CPU_LIMIT:-2.0}" - memory: "${KESTRA_MEMORY_LIMIT:-2G}" + cpus: '${KESTRA_CPU_LIMIT:-2.0}' + memory: '${KESTRA_MEMORY_LIMIT:-2G}' reservations: - cpus: "${KESTRA_CPU_RESERVATION:-0.5}" - memory: "${KESTRA_MEMORY_RESERVATION:-512M}" + cpus: '${KESTRA_CPU_RESERVATION:-0.5}' + memory: '${KESTRA_MEMORY_RESERVATION:-512M}' postgres: <<: *defaults @@ -103,18 +103,18 @@ services: volumes: - postgres_data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-kestra} -d ${POSTGRES_DB:-kestra}"] + test: [CMD-SHELL, 'pg_isready -U ${POSTGRES_USER:-kestra} -d ${POSTGRES_DB:-kestra}'] interval: 10s timeout: 5s retries: 5 deploy: resources: limits: - cpus: "${POSTGRES_CPU_LIMIT:-1.0}" - memory: "${POSTGRES_MEMORY_LIMIT:-1G}" + cpus: '${POSTGRES_CPU_LIMIT:-1.0}' + memory: '${POSTGRES_MEMORY_LIMIT:-1G}' reservations: - cpus: "${POSTGRES_CPU_RESERVATION:-0.25}" - memory: "${POSTGRES_MEMORY_RESERVATION:-256M}" + cpus: '${POSTGRES_CPU_RESERVATION:-0.25}' + memory: '${POSTGRES_MEMORY_RESERVATION:-256M}' volumes: postgres_data: diff --git a/src/kibana/README.md b/src/kibana/README.md index c2cd473..defc732 100644 --- a/src/kibana/README.md +++ b/src/kibana/README.md @@ -45,8 +45,8 @@ Uncomment the configuration volume in `docker-compose.yaml` and create `kibana.y ```yaml server.name: kibana -server.host: "0.0.0.0" -elasticsearch.hosts: ["http://elasticsearch:9200"] +server.host: 0.0.0.0 +elasticsearch.hosts: ['http://elasticsearch:9200'] monitoring.ui.container.elasticsearch.enabled: true ``` diff --git a/src/kibana/README.zh.md b/src/kibana/README.zh.md index 955a73b..859c230 100644 --- a/src/kibana/README.zh.md +++ b/src/kibana/README.zh.md @@ -45,8 +45,8 @@ Kibana 需要运行 Elasticsearch。确保 Elasticsearch 在配置的 `ELASTICSE ```yaml server.name: kibana -server.host: "0.0.0.0" -elasticsearch.hosts: ["http://elasticsearch:9200"] +server.host: 0.0.0.0 +elasticsearch.hosts: ['http://elasticsearch:9200'] monitoring.ui.container.elasticsearch.enabled: true ``` diff --git a/src/kibana/docker-compose.yaml b/src/kibana/docker-compose.yaml index 76584cc..ce6bd7b 100644 --- a/src/kibana/docker-compose.yaml +++ b/src/kibana/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: kibana: <<: *defaults image: ${GLOBAL_REGISTRY:-}docker.elastic.co/kibana/kibana:${KIBANA_VERSION:-9.2.0} ports: - - "${KIBANA_PORT_OVERRIDE:-5601}:5601" + - '${KIBANA_PORT_OVERRIDE:-5601}:5601' volumes: - kibana_data:/usr/share/kibana/data @@ -35,7 +35,7 @@ services: cpus: ${KIBANA_CPU_RESERVATION:-0.25} memory: ${KIBANA_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD-SHELL", "curl -f http://localhost:5601/api/status || exit 1"] + test: [CMD-SHELL, 'curl -f http://localhost:5601/api/status || exit 1'] interval: 30s timeout: 10s retries: 5 diff --git a/src/kodbox/docker-compose.yaml b/src/kodbox/docker-compose.yaml index 291c43a..b71d8df 100644 --- a/src/kodbox/docker-compose.yaml +++ b/src/kodbox/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: kodbox: <<: *defaults image: ${GLOBAL_REGISTRY:-}kodcloud/kodbox:${KODBOX_VERSION:-1.62} ports: - - "${KODBOX_PORT:-80}:80" + - '${KODBOX_PORT:-80}:80' volumes: - kodbox_data:/var/www/html environment: @@ -38,7 +38,7 @@ services: cpus: ${KODBOX_CPU_RESERVATION:-0.5} memory: ${KODBOX_MEMORY_RESERVATION:-256M} 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 timeout: 10s retries: 3 @@ -60,7 +60,7 @@ services: volumes: - kodbox_db_data:/var/lib/mysql healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD:-root123}"] + test: [CMD, mysqladmin, ping, -h, localhost, -u, root, '-p${MYSQL_ROOT_PASSWORD:-root123}'] interval: 10s timeout: 5s retries: 5 @@ -86,7 +86,7 @@ services: volumes: - kodbox_redis_data:/data healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 5s timeout: 3s retries: 5 diff --git a/src/kong/docker-compose.yaml b/src/kong/docker-compose.yaml index 979159d..13ddf35 100644 --- a/src/kong/docker-compose.yaml +++ b/src/kong/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: # Kong Database @@ -27,7 +27,7 @@ services: cpus: ${KONG_DB_CPU_RESERVATION:-0.25} memory: ${KONG_DB_MEMORY_RESERVATION:-128M} healthcheck: - test: ["CMD-SHELL", "pg_isready -U kong"] + test: [CMD-SHELL, pg_isready -U kong] interval: 30s timeout: 5s retries: 5 @@ -48,7 +48,7 @@ services: - KONG_PG_PASSWORD=${KONG_DB_PASSWORD:-kongpass} - KONG_PG_DATABASE=kong command: kong migrations bootstrap - restart: "no" + restart: no # Kong Gateway kong: @@ -60,10 +60,10 @@ services: kong-migrations: condition: service_completed_successfully ports: - - "${KONG_PROXY_PORT_OVERRIDE:-8000}:8000" - - "${KONG_PROXY_SSL_PORT_OVERRIDE:-8443}:8443" - - "${KONG_ADMIN_API_PORT_OVERRIDE:-8001}:8001" - - "${KONG_ADMIN_SSL_PORT_OVERRIDE:-8444}:8444" + - '${KONG_PROXY_PORT_OVERRIDE:-8000}:8000' + - '${KONG_PROXY_SSL_PORT_OVERRIDE:-8443}:8443' + - '${KONG_ADMIN_API_PORT_OVERRIDE:-8001}:8001' + - '${KONG_ADMIN_SSL_PORT_OVERRIDE:-8444}:8444' # Custom configuration # - ./kong.conf:/etc/kong/kong.conf:ro @@ -89,7 +89,7 @@ services: cpus: ${KONG_CPU_RESERVATION:-0.25} memory: ${KONG_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD-SHELL", "kong health"] + test: [CMD-SHELL, kong health] interval: 30s timeout: 10s retries: 5 @@ -103,7 +103,7 @@ services: kong: condition: service_healthy ports: - - "${KONG_GUI_PORT_OVERRIDE:-1337}:1337" + - '${KONG_GUI_PORT_OVERRIDE:-1337}:1337' volumes: - konga_data:/app/kongadata environment: diff --git a/src/libreoffice/docker-compose.yaml b/src/libreoffice/docker-compose.yaml index 8eb6db5..385e4dc 100644 --- a/src/libreoffice/docker-compose.yaml +++ b/src/libreoffice/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: libreoffice: <<: *defaults image: lscr.io/linuxserver/libreoffice:${LIBREOFFICE_VERSION:-latest} ports: - - "${LIBREOFFICE_HTTP_PORT_OVERRIDE:-3000}:3000" - - "${LIBREOFFICE_HTTPS_PORT_OVERRIDE:-3001}:3001" + - '${LIBREOFFICE_HTTP_PORT_OVERRIDE:-3000}:3000' + - '${LIBREOFFICE_HTTPS_PORT_OVERRIDE:-3001}:3001' volumes: - libreoffice_config:/config environment: @@ -33,7 +33,7 @@ services: cpus: ${LIBREOFFICE_CPU_RESERVATION:-0.50} memory: ${LIBREOFFICE_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "curl", "-f", "-k", "https://localhost:3001/"] + test: [CMD, curl, -f, -k, 'https://localhost:3001/'] interval: 30s timeout: 10s retries: 3 diff --git a/src/libsql/docker-compose.yaml b/src/libsql/docker-compose.yaml index 5e52954..744569a 100644 --- a/src/libsql/docker-compose.yaml +++ b/src/libsql/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: libsql: @@ -16,8 +16,8 @@ services: image: ${GHCR_IO_REGISTRY:-ghcr.io}/tursodatabase/libsql-server:${LIBSQL_VERSION:-latest} platform: ${LIBSQL_PLATFORM:-linux/amd64} ports: - - "${LIBSQL_HTTP_PORT_OVERRIDE:-8080}:8080" # HTTP/Hrana API port - - "${LIBSQL_GRPC_PORT_OVERRIDE:-5001}:5001" # gRPC port for replication + - '${LIBSQL_HTTP_PORT_OVERRIDE:-8080}:8080' # HTTP/Hrana API port + - '${LIBSQL_GRPC_PORT_OVERRIDE:-5001}:5001' # gRPC port for replication volumes: - libsql_data:/var/lib/sqld environment: @@ -31,7 +31,7 @@ services: # - SQLD_AUTH_JWT_KEY_FILE=${LIBSQL_AUTH_JWT_KEY_FILE:-} # - SQLD_AUTH_JWT_KEY=${LIBSQL_AUTH_JWT_KEY:-} healthcheck: - test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8080/health"] + test: [CMD, wget, --quiet, --tries=1, --spider, 'http://localhost:8080/health'] interval: 30s timeout: 10s retries: 3 @@ -53,8 +53,8 @@ services: profiles: - replica ports: - - "${LIBSQL_REPLICA_HTTP_PORT_OVERRIDE:-8081}:8080" - - "${LIBSQL_REPLICA_GRPC_PORT_OVERRIDE:-5002}:5001" + - '${LIBSQL_REPLICA_HTTP_PORT_OVERRIDE:-8081}:8080' + - '${LIBSQL_REPLICA_GRPC_PORT_OVERRIDE:-5002}:5001' volumes: - libsql_replica_data:/var/lib/sqld environment: @@ -65,7 +65,7 @@ services: - SQLD_HTTP_LISTEN_ADDR=${LIBSQL_HTTP_LISTEN_ADDR:-0.0.0.0:8080} - SQLD_GRPC_LISTEN_ADDR=${LIBSQL_GRPC_LISTEN_ADDR:-0.0.0.0:5001} healthcheck: - test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8080/health"] + test: [CMD, wget, --quiet, --tries=1, --spider, 'http://localhost:8080/health'] interval: 30s timeout: 10s retries: 3 diff --git a/src/litellm/docker-compose.yaml b/src/litellm/docker-compose.yaml index 66e2fb9..5562682 100644 --- a/src/litellm/docker-compose.yaml +++ b/src/litellm/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: litellm: @@ -20,7 +20,7 @@ services: # command: # - "--config=/app/config.yaml" ports: - - "${LITELLM_PORT_OVERRIDE:-4000}:4000" + - '${LITELLM_PORT_OVERRIDE:-4000}:4000' environment: - DATABASE_URL=postgresql://llmproxy:${POSTGRES_PASSWORD}@db:5432/litellm - STORE_MODEL_IN_DB=True @@ -31,13 +31,13 @@ services: db: condition: service_healthy healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:4000/health/liveliness"] + test: [CMD, curl, -f, 'http://localhost:4000/health/liveliness'] interval: 30s timeout: 10s retries: 3 start_period: 40s extra_hosts: - - "host.docker.internal:host-gateway" + - 'host.docker.internal:host-gateway' deploy: resources: limits: @@ -56,11 +56,11 @@ services: - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - TZ=${TZ:-UTC} ports: - - "${POSTGRES_PORT_OVERRIDE:-5432}:5432" + - '${POSTGRES_PORT_OVERRIDE:-5432}:5432' volumes: - postgres_data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -d litellm -U llmproxy"] + test: [CMD-SHELL, pg_isready -d litellm -U llmproxy] interval: 10s timeout: 5s retries: 5 @@ -83,15 +83,15 @@ services: - prometheus_data:/prometheus - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro ports: - - "${PROMETHEUS_PORT_OVERRIDE:-9090}:9090" + - '${PROMETHEUS_PORT_OVERRIDE:-9090}:9090' command: - - "--config.file=/etc/prometheus/prometheus.yml" - - "--storage.tsdb.path=/prometheus" - - "--storage.tsdb.retention.time=15d" + - --config.file=/etc/prometheus/prometheus.yml + - --storage.tsdb.path=/prometheus + - --storage.tsdb.retention.time=15d environment: - TZ=${TZ:-UTC} healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:9090/-/healthy"] + test: [CMD, wget, --spider, -q, 'http://localhost:9090/-/healthy'] interval: 30s timeout: 10s retries: 3 diff --git a/src/litellm/prometheus.yml b/src/litellm/prometheus.yml index 5cb4f90..a73d35b 100644 --- a/src/litellm/prometheus.yml +++ b/src/litellm/prometheus.yml @@ -2,6 +2,6 @@ global: scrape_interval: 15s scrape_configs: - - job_name: 'litellm' + - job_name: litellm static_configs: - - targets: ['litellm:4000'] # Assuming Litellm exposes metrics at port 4000 + - targets: ['litellm:4000'] # Assuming Litellm exposes metrics at port 4000 diff --git a/src/llama.cpp/docker-compose.yaml b/src/llama.cpp/docker-compose.yaml index 564d6b1..2ff89e1 100644 --- a/src/llama.cpp/docker-compose.yaml +++ b/src/llama.cpp/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: # llama.cpp server - OpenAI-compatible API server @@ -17,32 +17,31 @@ services: <<: *defaults image: ${GHCR_REGISTRY:-ghcr.io/}ggml-org/llama.cpp:${LLAMA_CPP_SERVER_VARIANT:-server} ports: - - "${LLAMA_CPP_SERVER_PORT_OVERRIDE:-8080}:8080" + - '${LLAMA_CPP_SERVER_PORT_OVERRIDE:-8080}:8080' volumes: - llama_cpp_models:/models command: - - "-m" - - "${LLAMA_CPP_MODEL_PATH:-/models/model.gguf}" - - "--port" - - "8080" - - "--host" - - "0.0.0.0" - - "-n" - - "${LLAMA_CPP_CONTEXT_SIZE:-512}" - - "--n-gpu-layers" - - "${LLAMA_CPP_GPU_LAYERS:-0}" + - -m + - '${LLAMA_CPP_MODEL_PATH:-/models/model.gguf}' + - --port + - '8080' + - --host + - 0.0.0.0 + - -n + - '${LLAMA_CPP_CONTEXT_SIZE:-512}' + - --n-gpu-layers + - '${LLAMA_CPP_GPU_LAYERS:-0}' environment: - TZ=${TZ:-UTC} healthcheck: test: - [ - "CMD", - "wget", - "--quiet", - "--tries=1", - "--spider", - "http://localhost:8080/health", - ] + - CMD + - wget + - --quiet + - --tries=1 + - --spider + - 'http://localhost:8080/health' + interval: 30s timeout: 10s retries: 3 @@ -63,32 +62,31 @@ services: <<: *defaults image: ${GHCR_REGISTRY:-ghcr.io/}ggml-org/llama.cpp:server-cuda ports: - - "${LLAMA_CPP_SERVER_PORT_OVERRIDE:-8080}:8080" + - '${LLAMA_CPP_SERVER_PORT_OVERRIDE:-8080}:8080' volumes: - llama_cpp_models:/models command: - - "-m" - - "${LLAMA_CPP_MODEL_PATH:-/models/model.gguf}" - - "--port" - - "8080" - - "--host" - - "0.0.0.0" - - "-n" - - "${LLAMA_CPP_CONTEXT_SIZE:-512}" - - "--n-gpu-layers" - - "${LLAMA_CPP_GPU_LAYERS:-99}" + - -m + - '${LLAMA_CPP_MODEL_PATH:-/models/model.gguf}' + - --port + - '8080' + - --host + - 0.0.0.0 + - -n + - '${LLAMA_CPP_CONTEXT_SIZE:-512}' + - --n-gpu-layers + - '${LLAMA_CPP_GPU_LAYERS:-99}' environment: - TZ=${TZ:-UTC} healthcheck: test: - [ - "CMD", - "wget", - "--quiet", - "--tries=1", - "--spider", - "http://localhost:8080/health", - ] + - CMD + - wget + - --quiet + - --tries=1 + - --spider + - 'http://localhost:8080/health' + interval: 30s timeout: 10s retries: 3 @@ -114,35 +112,34 @@ services: <<: *defaults image: ${GHCR_REGISTRY:-ghcr.io/}ggml-org/llama.cpp:server-rocm ports: - - "${LLAMA_CPP_SERVER_PORT_OVERRIDE:-8080}:8080" + - '${LLAMA_CPP_SERVER_PORT_OVERRIDE:-8080}:8080' volumes: - llama_cpp_models:/models devices: - /dev/kfd - /dev/dri command: - - "-m" - - "${LLAMA_CPP_MODEL_PATH:-/models/model.gguf}" - - "--port" - - "8080" - - "--host" - - "0.0.0.0" - - "-n" - - "${LLAMA_CPP_CONTEXT_SIZE:-512}" - - "--n-gpu-layers" - - "${LLAMA_CPP_GPU_LAYERS:-99}" + - -m + - '${LLAMA_CPP_MODEL_PATH:-/models/model.gguf}' + - --port + - '8080' + - --host + - 0.0.0.0 + - -n + - '${LLAMA_CPP_CONTEXT_SIZE:-512}' + - --n-gpu-layers + - '${LLAMA_CPP_GPU_LAYERS:-99}' environment: - TZ=${TZ:-UTC} healthcheck: test: - [ - "CMD", - "wget", - "--quiet", - "--tries=1", - "--spider", - "http://localhost:8080/health", - ] + - CMD + - wget + - --quiet + - --tries=1 + - --spider + - 'http://localhost:8080/health' + interval: 30s timeout: 10s retries: 3 @@ -167,12 +164,12 @@ services: - llama_cpp_models:/models entrypoint: /app/llama-cli command: - - "-m" - - "${LLAMA_CPP_MODEL_PATH:-/models/model.gguf}" - - "-p" - - "${LLAMA_CPP_PROMPT:-Hello, how are you?}" - - "-n" - - "${LLAMA_CPP_CONTEXT_SIZE:-512}" + - -m + - '${LLAMA_CPP_MODEL_PATH:-/models/model.gguf}' + - -p + - '${LLAMA_CPP_PROMPT:-Hello, how are you?}' + - -n + - '${LLAMA_CPP_CONTEXT_SIZE:-512}' environment: - TZ=${TZ:-UTC} deploy: @@ -192,7 +189,7 @@ services: image: ${GHCR_REGISTRY:-ghcr.io/}ggml-org/llama.cpp:${LLAMA_CPP_FULL_VARIANT:-full} volumes: - llama_cpp_models:/models - command: ["sleep", "infinity"] + command: [sleep, infinity] environment: - TZ=${TZ:-UTC} deploy: diff --git a/src/lmdeploy/docker-compose.yaml b/src/lmdeploy/docker-compose.yaml index b94775d..88b6781 100644 --- a/src/lmdeploy/docker-compose.yaml +++ b/src/lmdeploy/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: lmdeploy: <<: *defaults image: ${GLOBAL_REGISTRY:-}openmmlab/lmdeploy:${LMDEPLOY_VERSION:-v0.11.1-cu12.8} ports: - - "${LMDEPLOY_PORT_OVERRIDE:-23333}:23333" + - '${LMDEPLOY_PORT_OVERRIDE:-23333}:23333' volumes: - lmdeploy_data:/root/.cache environment: @@ -23,11 +23,11 @@ services: - api_server - ${LMDEPLOY_MODEL:-internlm/internlm2-chat-1_8b} - --server-name - - "0.0.0.0" + - 0.0.0.0 - --server-port - - "23333" + - '23333' healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:23333/v1/models"] + test: [CMD, curl, -f, 'http://localhost:23333/v1/models'] interval: 30s timeout: 10s retries: 3 diff --git a/src/logstash/docker-compose.yaml b/src/logstash/docker-compose.yaml index 377a6e4..20d5a42 100644 --- a/src/logstash/docker-compose.yaml +++ b/src/logstash/docker-compose.yaml @@ -4,17 +4,17 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: logstash: <<: *defaults image: docker.elastic.co/logstash/logstash:${LOGSTASH_VERSION:-8.16.1} ports: - - "${LOGSTASH_BEATS_PORT_OVERRIDE:-5044}:5044" - - "${LOGSTASH_TCP_PORT_OVERRIDE:-5000}:5000/tcp" - - "${LOGSTASH_UDP_PORT_OVERRIDE:-5000}:5000/udp" - - "${LOGSTASH_HTTP_PORT_OVERRIDE:-9600}:9600" + - '${LOGSTASH_BEATS_PORT_OVERRIDE:-5044}:5044' + - '${LOGSTASH_TCP_PORT_OVERRIDE:-5000}:5000/tcp' + - '${LOGSTASH_UDP_PORT_OVERRIDE:-5000}:5000/udp' + - '${LOGSTASH_HTTP_PORT_OVERRIDE:-9600}:9600' volumes: - logstash_data:/usr/share/logstash/data - logstash_logs:/usr/share/logstash/logs @@ -44,7 +44,7 @@ services: cpus: ${LOGSTASH_CPU_RESERVATION:-0.50} memory: ${LOGSTASH_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD-SHELL", "curl -f http://localhost:9600/_node/stats || exit 1"] + test: [CMD-SHELL, 'curl -f http://localhost:9600/_node/stats || exit 1'] interval: 30s timeout: 10s retries: 5 diff --git a/src/loki/README.md b/src/loki/README.md index 9f572a6..12279f2 100644 --- a/src/loki/README.md +++ b/src/loki/README.md @@ -90,8 +90,8 @@ You can configure Docker to send logs directly to Loki: logging: driver: loki options: - loki-url: "http://localhost:3100/loki/api/v1/push" - loki-batch-size: "400" + loki-url: 'http://localhost:3100/loki/api/v1/push' + loki-batch-size: '400' ``` ### Using HTTP API diff --git a/src/loki/README.zh.md b/src/loki/README.zh.md index 1279bed..1e17ae2 100644 --- a/src/loki/README.zh.md +++ b/src/loki/README.zh.md @@ -90,8 +90,8 @@ services: logging: driver: loki options: - loki-url: "http://localhost:3100/loki/api/v1/push" - loki-batch-size: "400" + loki-url: 'http://localhost:3100/loki/api/v1/push' + loki-batch-size: '400' ``` ### 使用 HTTP API diff --git a/src/loki/docker-compose.yaml b/src/loki/docker-compose.yaml index dbaef79..4f87299 100644 --- a/src/loki/docker-compose.yaml +++ b/src/loki/docker-compose.yaml @@ -4,21 +4,21 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: loki: <<: *defaults image: ${GLOBAL_REGISTRY:-}grafana/loki:${LOKI_VERSION:-3.3.2} ports: - - "${LOKI_PORT_OVERRIDE:-3100}:3100" + - '${LOKI_PORT_OVERRIDE:-3100}:3100' volumes: - loki_data:/loki - ./loki-config.yaml:/etc/loki/local-config.yaml:ro environment: - TZ=${TZ:-UTC} command: -config.file=/etc/loki/local-config.yaml - user: "10001:10001" # Loki user + user: '10001:10001' # Loki user deploy: resources: limits: @@ -28,7 +28,7 @@ services: cpus: ${LOKI_CPU_RESERVATION:-0.25} memory: ${LOKI_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3100/ready"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:3100/ready'] interval: 30s timeout: 10s retries: 3 diff --git a/src/loki/loki-config.yaml b/src/loki/loki-config.yaml index 6006988..ea056b5 100644 --- a/src/loki/loki-config.yaml +++ b/src/loki/loki-config.yaml @@ -46,5 +46,5 @@ ruler: # Refer to the buildReport method to see what goes into a report. # # If you would like to disable reporting, uncomment the following lines: -#analytics: +# analytics: # reporting_enabled: false diff --git a/src/mariadb-galera/docker-compose.yaml b/src/mariadb-galera/docker-compose.yaml index ceed02c..87c5c4d 100644 --- a/src/mariadb-galera/docker-compose.yaml +++ b/src/mariadb-galera/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' x-mariadb-galera: &mariadb-galera <<: *defaults @@ -34,7 +34,7 @@ x-mariadb-galera: &mariadb-galera cpus: ${MARIADB_CPU_RESERVATION:-1.0} memory: ${MARIADB_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + test: [CMD, healthcheck.sh, --connect, --innodb_initialized] interval: 30s timeout: 10s retries: 3 @@ -45,7 +45,7 @@ services: <<: *mariadb-galera hostname: mariadb-galera-1 ports: - - "${MARIADB_PORT_1_OVERRIDE:-3306}:3306" + - '${MARIADB_PORT_1_OVERRIDE:-3306}:3306' environment: <<: *galera-env WSREP_NODE_ADDRESS: mariadb-galera-1 @@ -67,7 +67,7 @@ services: <<: *mariadb-galera hostname: mariadb-galera-2 ports: - - "${MARIADB_PORT_2_OVERRIDE:-3307}:3306" + - '${MARIADB_PORT_2_OVERRIDE:-3307}:3306' environment: <<: *galera-env WSREP_NODE_ADDRESS: mariadb-galera-2 @@ -91,7 +91,7 @@ services: <<: *mariadb-galera hostname: mariadb-galera-3 ports: - - "${MARIADB_PORT_3_OVERRIDE:-3308}:3306" + - '${MARIADB_PORT_3_OVERRIDE:-3308}:3306' environment: <<: *galera-env WSREP_NODE_ADDRESS: mariadb-galera-3 diff --git a/src/memos/docker-compose.yaml b/src/memos/docker-compose.yaml index 436c016..15d5f75 100644 --- a/src/memos/docker-compose.yaml +++ b/src/memos/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: memos: <<: *defaults image: ${GLOBAL_REGISTRY:-}neosmemo/memos:${MEMOS_VERSION:-0.25.3} ports: - - "${MEMOS_PORT_OVERRIDE:-5230}:5230" + - '${MEMOS_PORT_OVERRIDE:-5230}:5230' volumes: - memos_data:/var/opt/memos environment: @@ -33,7 +33,7 @@ services: cpus: ${MEMOS_CPU_RESERVATION:-0.25} memory: ${MEMOS_MEMORY_RESERVATION:-128M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5230/"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:5230/'] interval: 30s timeout: 10s retries: 3 diff --git a/src/milvus-standalone-embed/docker-compose.yaml b/src/milvus-standalone-embed/docker-compose.yaml index 959885e..8f73118 100644 --- a/src/milvus-standalone-embed/docker-compose.yaml +++ b/src/milvus-standalone-embed/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: milvus-standalone-embed: @@ -14,7 +14,7 @@ services: - seccomp:unconfined environment: TZ: ${TZ:-UTC} - ETCD_USE_EMBED: "true" + ETCD_USE_EMBED: 'true' ETCD_DATA_DIR: /var/lib/milvus/etcd ETCD_CONFIG_PATH: /milvus/configs/embed_etcd.yaml COMMON_STORAGETYPE: local @@ -24,16 +24,16 @@ services: - ./embed_etcd.yaml:/milvus/configs/embed_etcd.yaml - ./user.yaml:/milvus/configs/user.yaml ports: - - "${MILVUS_PORT_OVERRIDE_HTTP:-19530}:19530" - - "${MILVUS_PORT_OVERRIDE_WEBUI:-9091}:9091" - - "${MILVUS_PORT_OVERRIDE_ETCD:-2379}:2379" + - '${MILVUS_PORT_OVERRIDE_HTTP:-19530}:19530' + - '${MILVUS_PORT_OVERRIDE_WEBUI:-9091}:9091' + - '${MILVUS_PORT_OVERRIDE_ETCD:-2379}:2379' healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"] + test: [CMD, curl, -f, 'http://localhost:9091/healthz'] interval: 30s start_period: 90s timeout: 20s retries: 3 - command: ["milvus", "run", "standalone"] + command: [milvus, run, standalone] deploy: resources: limits: @@ -52,7 +52,7 @@ services: TZ: ${TZ:-UTC} MILVUS_URL: ${MILVUS_URL:-milvus-standalone-embed:19530} ports: - - "${ATTU_OVERRIDE_PORT:-8000}:3000" + - '${ATTU_OVERRIDE_PORT:-8000}:3000' depends_on: milvus-standalone-embed: condition: service_healthy @@ -66,14 +66,13 @@ services: memory: ${ATTU_MEMORY_RESERVATION:-128M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:3000/", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:3000/' + interval: 30s timeout: 10s retries: 3 diff --git a/src/milvus-standalone/docker-compose.yaml b/src/milvus-standalone/docker-compose.yaml index 01ff80b..d450bd2 100644 --- a/src/milvus-standalone/docker-compose.yaml +++ b/src/milvus-standalone/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: etcd: @@ -20,7 +20,7 @@ services: - etcd_data:/etcd command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd healthcheck: - test: ["CMD", "etcdctl", "endpoint", "health"] + test: [CMD, etcdctl, endpoint, health] interval: 30s timeout: 20s retries: 3 @@ -42,13 +42,13 @@ services: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin} ports: - - "${MINIO_PORT_OVERRIDE_API:-9000}:9000" - - "${MINIO_PORT_OVERRIDE_WEBUI:-9001}:9001" + - '${MINIO_PORT_OVERRIDE_API:-9000}:9000' + - '${MINIO_PORT_OVERRIDE_WEBUI:-9001}:9001' volumes: - minio_data:/minio_data command: minio server /minio_data --console-address ":9001" healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] + test: [CMD, curl, -f, 'http://localhost:9000/minio/health/live'] interval: 30s timeout: 20s retries: 3 @@ -65,7 +65,7 @@ services: milvus-standalone: <<: *defaults image: ${GLOBAL_REGISTRY:-}milvusdb/milvus:${MILVUS_VERSION:-v2.6.7} - command: ["milvus", "run", "standalone"] + command: [milvus, run, standalone] security_opt: - seccomp:unconfined environment: @@ -76,14 +76,14 @@ services: volumes: - milvus_data:/var/lib/milvus healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"] + test: [CMD, curl, -f, 'http://localhost:9091/healthz'] interval: 30s start_period: 90s timeout: 20s retries: 3 ports: - - "${MILVUS_PORT_OVERRIDE_HTTP:-19530}:19530" - - "${MILVUS_PORT_OVERRIDE_WEBUI:-9091}:9091" + - '${MILVUS_PORT_OVERRIDE_HTTP:-19530}:19530' + - '${MILVUS_PORT_OVERRIDE_WEBUI:-9091}:9091' depends_on: etcd: condition: service_healthy @@ -107,7 +107,7 @@ services: - TZ=${TZ:-UTC} - MILVUS_URL=${MILVUS_URL:-milvus-standalone:19530} ports: - - "${ATTU_PORT_OVERRIDE:-8000}:3000" + - '${ATTU_PORT_OVERRIDE:-8000}:3000' depends_on: milvus-standalone: condition: service_healthy @@ -121,14 +121,13 @@ services: memory: ${ATTU_MEMORY_RESERVATION:-128M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:3000/", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:3000/' + interval: 30s timeout: 10s retries: 3 diff --git a/src/minecraft-bedrock-server/docker-compose.yaml b/src/minecraft-bedrock-server/docker-compose.yaml index 8ebdc19..0d895f9 100644 --- a/src/minecraft-bedrock-server/docker-compose.yaml +++ b/src/minecraft-bedrock-server/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: minecraft-bedrock: @@ -12,24 +12,24 @@ services: image: ${GLOBAL_REGISTRY:-}itzg/minecraft-bedrock-server:${BEDROCK_VERSION:-latest} environment: TZ: ${TZ:-UTC} - EULA: "${EULA:-TRUE}" - VERSION: "${MINECRAFT_VERSION:-LATEST}" - GAMEMODE: "${GAMEMODE:-survival}" - DIFFICULTY: "${DIFFICULTY:-easy}" - SERVER_NAME: "${SERVER_NAME:-Dedicated Server}" - MAX_PLAYERS: "${MAX_PLAYERS:-10}" - ALLOW_CHEATS: "${ALLOW_CHEATS:-false}" - LEVEL_NAME: "${LEVEL_NAME:-Bedrock level}" - LEVEL_SEED: "${LEVEL_SEED:-}" - ONLINE_MODE: "${ONLINE_MODE:-true}" - WHITE_LIST: "${WHITE_LIST:-false}" - SERVER_PORT: "${SERVER_PORT:-19132}" - SERVER_PORT_V6: "${SERVER_PORT_V6:-19133}" - UID: "${UID:-1000}" - GID: "${GID:-1000}" + EULA: '${EULA:-TRUE}' + VERSION: '${MINECRAFT_VERSION:-LATEST}' + GAMEMODE: '${GAMEMODE:-survival}' + DIFFICULTY: '${DIFFICULTY:-easy}' + SERVER_NAME: '${SERVER_NAME:-Dedicated Server}' + MAX_PLAYERS: '${MAX_PLAYERS:-10}' + ALLOW_CHEATS: '${ALLOW_CHEATS:-false}' + LEVEL_NAME: '${LEVEL_NAME:-Bedrock level}' + LEVEL_SEED: '${LEVEL_SEED:-}' + ONLINE_MODE: '${ONLINE_MODE:-true}' + WHITE_LIST: '${WHITE_LIST:-false}' + SERVER_PORT: '${SERVER_PORT:-19132}' + SERVER_PORT_V6: '${SERVER_PORT_V6:-19133}' + UID: '${UID:-1000}' + GID: '${GID:-1000}' ports: - - "${SERVER_PORT_OVERRIDE:-19132}:19132/udp" - - "${SERVER_PORT_V6_OVERRIDE:-19133}:19133/udp" + - '${SERVER_PORT_OVERRIDE:-19132}:19132/udp' + - '${SERVER_PORT_V6_OVERRIDE:-19133}:19133/udp' volumes: - bedrock_data:/data stdin_open: true @@ -43,7 +43,7 @@ services: cpus: ${BEDROCK_CPU_RESERVATION:-1.0} memory: ${BEDROCK_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD-SHELL", "[ -f /data/valid_known_packs.json ]"] + test: [CMD-SHELL, '[ -f /data/valid_known_packs.json ]'] interval: 30s timeout: 10s retries: 3 diff --git a/src/minio/docker-compose.yaml b/src/minio/docker-compose.yaml index 848d718..79fad3e 100644 --- a/src/minio/docker-compose.yaml +++ b/src/minio/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: minio: <<: *defaults image: ${CGR_DEV_REGISTRY:cgr.dev-}/chainguard/minio:${MINIO_VERSION:-0.20251015} ports: - - "${MINIO_PORT_OVERRIDE_API:-9000}:9000" - - "${MINIO_PORT_OVERRIDE_WEBUI:-9001}:9001" + - '${MINIO_PORT_OVERRIDE_API:-9000}:9000' + - '${MINIO_PORT_OVERRIDE_WEBUI:-9001}:9001' environment: TZ: ${TZ:-UTC} MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin} @@ -21,7 +21,7 @@ services: - minio_data:/data command: server /data --console-address ':9001' healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] + test: [CMD, curl, -f, 'http://localhost:9000/minio/health/live'] interval: 30s timeout: 20s retries: 5 diff --git a/src/mlflow/docker-compose.yaml b/src/mlflow/docker-compose.yaml index b1f0166..544a253 100644 --- a/src/mlflow/docker-compose.yaml +++ b/src/mlflow/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: postgres: @@ -26,7 +26,7 @@ services: cpus: ${POSTGRES_MLFLOW_CPU_RESERVATION:-0.5} memory: ${POSTGRES_MLFLOW_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-mlflow}"] + test: [CMD-SHELL, 'pg_isready -U ${POSTGRES_USER:-mlflow}'] interval: 10s timeout: 5s retries: 5 @@ -41,8 +41,8 @@ services: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minio} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minio123} ports: - - "${MINIO_PORT_OVERRIDE:-9000}:9000" - - "${MINIO_CONSOLE_PORT_OVERRIDE:-9001}:9001" + - '${MINIO_PORT_OVERRIDE:-9000}:9000' + - '${MINIO_CONSOLE_PORT_OVERRIDE:-9001}:9001' volumes: - minio_data:/data deploy: @@ -54,7 +54,7 @@ services: cpus: ${MINIO_MLFLOW_CPU_RESERVATION:-0.5} memory: ${MINIO_MLFLOW_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] + test: [CMD, curl, -f, 'http://localhost:9000/minio/health/live'] interval: 30s timeout: 10s retries: 3 @@ -73,7 +73,7 @@ services: /usr/bin/mc mb minio/${MINIO_BUCKET:-mlflow} --ignore-existing; exit 0; " - restart: "no" + restart: no mlflow: <<: *defaults @@ -86,7 +86,7 @@ services: minio-init: condition: service_completed_successfully ports: - - "${MLFLOW_PORT_OVERRIDE:-5000}:5000" + - '${MLFLOW_PORT_OVERRIDE:-5000}:5000' environment: TZ: ${TZ:-UTC} MLFLOW_BACKEND_STORE_URI: postgresql://${POSTGRES_USER:-mlflow}:${POSTGRES_PASSWORD:-mlflow}@postgres:5432/${POSTGRES_DB:-mlflow} @@ -98,9 +98,9 @@ services: - mlflow - server - --host - - "0.0.0.0" + - 0.0.0.0 - --port - - "5000" + - '5000' - --backend-store-uri - postgresql://${POSTGRES_USER:-mlflow}:${POSTGRES_PASSWORD:-mlflow}@postgres:5432/${POSTGRES_DB:-mlflow} - --default-artifact-root @@ -114,7 +114,7 @@ services: cpus: ${MLFLOW_CPU_RESERVATION:-1.0} memory: ${MLFLOW_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5000/health"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:5000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/src/mongodb-replicaset-single/docker-compose.yaml b/src/mongodb-replicaset-single/docker-compose.yaml index 49e8817..ec4bb89 100644 --- a/src/mongodb-replicaset-single/docker-compose.yaml +++ b/src/mongodb-replicaset-single/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' x-mongo: &mongo <<: *defaults @@ -30,7 +30,7 @@ x-mongo: &mongo retries: 10 start_period: 30s extra_hosts: - - "host.docker.internal:host-gateway" + - 'host.docker.internal:host-gateway' deploy: resources: limits: @@ -40,12 +40,11 @@ x-mongo: &mongo cpus: ${MONGO_REPLICA_SINGLE_CPU_RESERVATION:-0.50} memory: ${MONGO_REPLICA_SINGLE_MEMORY_RESERVATION:-1024M} - services: mongo1: <<: *mongo ports: - - "${MONGO_PORT_OVERRIDE_1:-27017}:27017" + - '${MONGO_PORT_OVERRIDE_1:-27017}:27017' volumes: - mongo_data:/data/db - ./secrets/rs0.key:/data/rs0.key:ro @@ -67,7 +66,7 @@ services: volumes: - ./secrets/rs0.key:/data/rs0.key:ro extra_hosts: - - "host.docker.internal:host-gateway" + - 'host.docker.internal:host-gateway' entrypoint: - bash - -c @@ -109,6 +108,5 @@ services: cpus: ${MONGO_REPLICA_SINGLE_INIT_CPU_RESERVATION:-0.50} memory: ${MONGO_REPLICA_SINGLE_INIT_MEMORY_RESERVATION:-1024M} - volumes: mongo_data: diff --git a/src/mongodb-replicaset/docker-compose.yaml b/src/mongodb-replicaset/docker-compose.yaml index 8e383e6..3f28477 100644 --- a/src/mongodb-replicaset/docker-compose.yaml +++ b/src/mongodb-replicaset/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' x-mongo: &mongo <<: *defaults @@ -30,7 +30,7 @@ x-mongo: &mongo retries: 10 start_period: 30s extra_hosts: - - "host.docker.internal:host-gateway" + - 'host.docker.internal:host-gateway' deploy: resources: limits: @@ -44,7 +44,7 @@ services: mongo1: <<: *mongo ports: - - "${MONGO_PORT_OVERRIDE_1:-27017}:27017" + - '${MONGO_PORT_OVERRIDE_1:-27017}:27017' volumes: - mongo1_data:/data/db - ./secrets/rs0.key:/data/rs0.key:ro @@ -52,7 +52,7 @@ services: mongo2: <<: *mongo ports: - - "${MONGO_PORT_OVERRIDE_2:-27018}:27017" + - '${MONGO_PORT_OVERRIDE_2:-27018}:27017' volumes: - mongo2_data:/data/db - ./secrets/rs0.key:/data/rs0.key:ro @@ -60,7 +60,7 @@ services: mongo3: <<: *mongo ports: - - "${MONGO_PORT_OVERRIDE_3:-27019}:27017" + - '${MONGO_PORT_OVERRIDE_3:-27019}:27017' volumes: - mongo3_data:/data/db - ./secrets/rs0.key:/data/rs0.key:ro @@ -86,7 +86,7 @@ services: MONGO_PORT_3: ${MONGO_PORT_OVERRIDE_3:-27019} MONGO_HOST: ${MONGO_HOST:-host.docker.internal} extra_hosts: - - "host.docker.internal:host-gateway" + - 'host.docker.internal:host-gateway' volumes: - ./secrets/rs0.key:/data/rs0.key:ro entrypoint: diff --git a/src/mongodb-standalone/docker-compose.yaml b/src/mongodb-standalone/docker-compose.yaml index cde2cdf..2f0cbda 100644 --- a/src/mongodb-standalone/docker-compose.yaml +++ b/src/mongodb-standalone/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mongo: @@ -16,11 +16,11 @@ services: MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD:-password} MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE:-admin} ports: - - "${MONGO_PORT_OVERRIDE:-27017}:27017" + - '${MONGO_PORT_OVERRIDE:-27017}:27017' volumes: - mongo_data:/data/db healthcheck: - test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"] + test: [CMD, mongosh, --eval, "db.adminCommand('ping')"] interval: 30s timeout: 10s retries: 3 @@ -34,6 +34,5 @@ services: cpus: ${MONGO_CPU_RESERVATION:-0.50} memory: ${MONGO_MEMORY_RESERVATION:-1024M} - volumes: mongo_data: diff --git a/src/mysql/docker-compose.yaml b/src/mysql/docker-compose.yaml index 7db3dda..47b5463 100644 --- a/src/mysql/docker-compose.yaml +++ b/src/mysql/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: mysql: <<: *defaults image: ${GLOBAL_REGISTRY:-}mysql:${MYSQL_VERSION:-9.4.0} ports: - - "${MYSQL_PORT_OVERRIDE:-3306}:3306" + - '${MYSQL_PORT_OVERRIDE:-3306}:3306' volumes: - mysql_data:/var/lib/mysql @@ -30,7 +30,7 @@ services: cpus: ${MYSQL_CPU_RESERVATION:-0.5} memory: ${MYSQL_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MYSQL_ROOT_PASSWORD"] + test: [CMD, mysqladmin, ping, -h, localhost, -u, root, -p$$MYSQL_ROOT_PASSWORD] interval: 30s timeout: 10s retries: 3 diff --git a/src/nacos/docker-compose.yaml b/src/nacos/docker-compose.yaml index 1b2f548..f21c74d 100644 --- a/src/nacos/docker-compose.yaml +++ b/src/nacos/docker-compose.yaml @@ -4,16 +4,16 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: nacos: <<: *defaults image: ${GLOBAL_REGISTRY:-}nacos/nacos-server:${NACOS_VERSION:-v3.1.0-slim} ports: - - "${NACOS_HTTP_PORT_OVERRIDE:-8848}:8848" - - "${NACOS_GRPC_PORT_OVERRIDE:-9848}:9848" - - "${NACOS_GRPC_PORT2_OVERRIDE:-9849}:9849" + - '${NACOS_HTTP_PORT_OVERRIDE:-8848}:8848' + - '${NACOS_GRPC_PORT_OVERRIDE:-9848}:9848' + - '${NACOS_GRPC_PORT2_OVERRIDE:-9849}:9849' volumes: - nacos_logs:/home/nacos/logs environment: @@ -37,7 +37,7 @@ services: cpus: ${NACOS_CPU_RESERVATION:-0.5} memory: ${NACOS_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8848/nacos/"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:8848/nacos/'] interval: 30s timeout: 10s retries: 3 diff --git a/src/nebulagraph/README.md b/src/nebulagraph/README.md index 096a28f..729031e 100644 --- a/src/nebulagraph/README.md +++ b/src/nebulagraph/README.md @@ -20,7 +20,7 @@ This service deploys NebulaGraph, a distributed, fast open-source graph database ## Volumes - `nebula_meta_data`: Meta service data -- `nebula_storage_data`: Storage service data +- `nebula_storage_data`: Storage service data - `nebula_*_logs`: Log files for each service ## Usage diff --git a/src/nebulagraph/docker-compose.yaml b/src/nebulagraph/docker-compose.yaml index d542b56..fb63b83 100644 --- a/src/nebulagraph/docker-compose.yaml +++ b/src/nebulagraph/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: metad: @@ -24,9 +24,9 @@ services: - nebula_meta_data:/data/meta - nebula_meta_logs:/logs ports: - - "9559:9559" - - "19559:19559" - - "19560:19560" + - '9559:9559' + - '19559:19559' + - '19560:19560' deploy: resources: limits: @@ -36,7 +36,7 @@ services: cpus: ${NEBULA_METAD_CPU_RESERVATION:-0.25} memory: ${NEBULA_METAD_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "/usr/local/nebula/bin/nebula-metad", "--version"] + test: [CMD, /usr/local/nebula/bin/nebula-metad, --version] interval: 30s timeout: 10s retries: 3 @@ -62,9 +62,9 @@ services: - nebula_storage_data:/data/storage - nebula_storage_logs:/logs ports: - - "9779:9779" - - "19779:19779" - - "19780:19780" + - '9779:9779' + - '19779:19779' + - '19780:19780' deploy: resources: limits: @@ -74,7 +74,7 @@ services: cpus: ${NEBULA_STORAGED_CPU_RESERVATION:-0.5} memory: ${NEBULA_STORAGED_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "/usr/local/nebula/bin/nebula-storaged", "--version"] + test: [CMD, /usr/local/nebula/bin/nebula-storaged, --version] interval: 30s timeout: 10s retries: 3 @@ -100,9 +100,9 @@ services: volumes: - nebula_graph_logs:/logs ports: - - "${NEBULA_GRAPHD_PORT_OVERRIDE:-9669}:9669" - - "19669:19669" - - "19670:19670" + - '${NEBULA_GRAPHD_PORT_OVERRIDE:-9669}:9669' + - '19669:19669' + - '19670:19670' deploy: resources: limits: @@ -112,7 +112,7 @@ services: cpus: ${NEBULA_GRAPHD_CPU_RESERVATION:-0.5} memory: ${NEBULA_GRAPHD_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "/usr/local/nebula/bin/nebula-graphd", "--version"] + test: [CMD, /usr/local/nebula/bin/nebula-graphd, --version] interval: 30s timeout: 10s retries: 3 diff --git a/src/neo4j/docker-compose.yaml b/src/neo4j/docker-compose.yaml index 308472b..2c69af8 100644 --- a/src/neo4j/docker-compose.yaml +++ b/src/neo4j/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: neo4j: <<: *defaults image: ${GLOBAL_REGISTRY:-}neo4j:${NEO4J_VERSION:-5.27.4-community} ports: - - "${NEO4J_HTTP_PORT_OVERRIDE:-7474}:7474" - - "${NEO4J_BOLT_PORT_OVERRIDE:-7687}:7687" + - '${NEO4J_HTTP_PORT_OVERRIDE:-7474}:7474' + - '${NEO4J_BOLT_PORT_OVERRIDE:-7687}:7687' volumes: - neo4j_data:/data - neo4j_logs:/logs @@ -34,7 +34,7 @@ services: cpus: ${NEO4J_CPU_RESERVATION:-0.5} memory: ${NEO4J_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:7474/"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:7474/'] interval: 30s timeout: 10s retries: 3 diff --git a/src/netdata/docker-compose.yaml b/src/netdata/docker-compose.yaml index b5d6e93..c7e5db9 100644 --- a/src/netdata/docker-compose.yaml +++ b/src/netdata/docker-compose.yaml @@ -6,7 +6,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: netdata: @@ -35,7 +35,7 @@ services: environment: - TZ=${TZ:-UTC} healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:19999/api/v1/info"] + test: [CMD, curl, -f, 'http://localhost:19999/api/v1/info'] interval: 30s timeout: 10s retries: 3 diff --git a/src/nexa-sdk/docker-compose.yaml b/src/nexa-sdk/docker-compose.yaml index 3f6a1ec..fbdab20 100644 --- a/src/nexa-sdk/docker-compose.yaml +++ b/src/nexa-sdk/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: nexa-sdk: @@ -17,7 +17,7 @@ services: - cpu image: ${GLOBAL_REGISTRY:-}nexa4ai/nexasdk:${NEXA_SDK_VERSION:-v0.2.65} ports: - - "${NEXA_SDK_PORT_OVERRIDE:-18181}:18181" + - '${NEXA_SDK_PORT_OVERRIDE:-18181}:18181' volumes: - nexa_data:/data environment: @@ -25,7 +25,7 @@ services: - NEXA_TOKEN=${NEXA_TOKEN:-} command: serve healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:18181/docs/ui"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:18181/docs/ui'] interval: 30s timeout: 10s retries: 3 @@ -46,7 +46,7 @@ services: - gpu image: ${GLOBAL_REGISTRY:-}nexa4ai/nexasdk:${NEXA_SDK_VERSION:-v0.2.62}-cuda ports: - - "${NEXA_SDK_PORT_OVERRIDE:-18181}:18181" + - '${NEXA_SDK_PORT_OVERRIDE:-18181}:18181' volumes: - nexa_data:/data environment: @@ -54,7 +54,7 @@ services: - NEXA_TOKEN=${NEXA_TOKEN:-} command: serve healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:18181/docs/ui"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:18181/docs/ui'] interval: 30s timeout: 10s retries: 3 diff --git a/src/nginx/docker-compose.yaml b/src/nginx/docker-compose.yaml index 0281cfb..e140498 100644 --- a/src/nginx/docker-compose.yaml +++ b/src/nginx/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: nginx: <<: *defaults image: ${GLOBAL_REGISTRY:-}nginx:${NGINX_VERSION:-1.28.2-alpine3.22} ports: - - "${NGINX_HTTP_PORT_OVERRIDE:-80}:80" - - "${NGINX_HTTPS_PORT_OVERRIDE:-443}:443" + - '${NGINX_HTTP_PORT_OVERRIDE:-80}:80' + - '${NGINX_HTTPS_PORT_OVERRIDE:-443}:443' volumes: - nginx_logs:/var/log/nginx - ./html:/usr/share/nginx/html:ro @@ -35,14 +35,13 @@ services: memory: ${NGINX_MEMORY_RESERVATION:-64M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:80/", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:80/' + interval: 30s timeout: 10s retries: 3 diff --git a/src/node-exporter/README.md b/src/node-exporter/README.md index 18548bd..5cc8331 100644 --- a/src/node-exporter/README.md +++ b/src/node-exporter/README.md @@ -35,7 +35,7 @@ Add this scrape config to your Prometheus configuration: ```yaml scrape_configs: - - job_name: 'node' + - job_name: node static_configs: - targets: ['localhost:9100'] ``` diff --git a/src/node-exporter/README.zh.md b/src/node-exporter/README.zh.md index ffa13ee..a3c7cf2 100644 --- a/src/node-exporter/README.zh.md +++ b/src/node-exporter/README.zh.md @@ -35,7 +35,7 @@ docker compose up -d ```yaml scrape_configs: - - job_name: 'node' + - job_name: node static_configs: - targets: ['localhost:9100'] ``` diff --git a/src/node-exporter/docker-compose.yaml b/src/node-exporter/docker-compose.yaml index b211431..741f445 100644 --- a/src/node-exporter/docker-compose.yaml +++ b/src/node-exporter/docker-compose.yaml @@ -4,18 +4,18 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: node-exporter: <<: *defaults image: ${GLOBAL_REGISTRY:-}prom/node-exporter:${NODE_EXPORTER_VERSION:-v1.8.2} ports: - - "${NODE_EXPORTER_PORT_OVERRIDE:-9100}:9100" + - '${NODE_EXPORTER_PORT_OVERRIDE:-9100}:9100' command: - - '--path.rootfs=/host' - - '--path.procfs=/host/proc' - - '--path.sysfs=/host/sys' + - --path.rootfs=/host + - --path.procfs=/host/proc + - --path.sysfs=/host/sys - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)' environment: - TZ=${TZ:-UTC} @@ -30,7 +30,7 @@ services: cpus: ${NODE_EXPORTER_CPU_RESERVATION:-0.1} memory: ${NODE_EXPORTER_MEMORY_RESERVATION:-64M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:9100/metrics"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:9100/metrics'] interval: 30s timeout: 10s retries: 3 diff --git a/src/oceanbase/docker-compose.yaml b/src/oceanbase/docker-compose.yaml index 79c4704..b47754b 100644 --- a/src/oceanbase/docker-compose.yaml +++ b/src/oceanbase/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: oceanbase: @@ -23,8 +23,8 @@ services: volumes: - oceanbase_data:/root/ob ports: - - "${OCEANBASE_SQL_PORT_OVERRIDE:-2881}:2881" - - "${OCEANBASE_RPC_PORT_OVERRIDE:-2882}:2882" + - '${OCEANBASE_SQL_PORT_OVERRIDE:-2881}:2881' + - '${OCEANBASE_RPC_PORT_OVERRIDE:-2882}:2882' deploy: resources: limits: @@ -34,7 +34,7 @@ services: cpus: ${OCEANBASE_CPU_RESERVATION:-2.0} memory: ${OCEANBASE_MEMORY_RESERVATION:-8G} healthcheck: - test: ["CMD-SHELL", "mysql -h127.0.0.1 -P2881 -uroot -p$$OB_ROOT_PASSWORD -e 'SELECT 1' || exit 1"] + test: [CMD-SHELL, "mysql -h127.0.0.1 -P2881 -uroot -p$$OB_ROOT_PASSWORD -e 'SELECT 1' || exit 1"] interval: 30s timeout: 10s retries: 5 diff --git a/src/odoo/docker-compose.yaml b/src/odoo/docker-compose.yaml index 00f0189..ab5e15e 100644 --- a/src/odoo/docker-compose.yaml +++ b/src/odoo/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: odoo: @@ -14,7 +14,7 @@ services: odoo-db: condition: service_healthy ports: - - "${ODOO_PORT_OVERRIDE:-8069}:8069" + - '${ODOO_PORT_OVERRIDE:-8069}:8069' volumes: - odoo_web_data:/var/lib/odoo - odoo_addons:/mnt/extra-addons @@ -35,14 +35,13 @@ services: memory: ${ODOO_MEMORY_RESERVATION:-1G} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:8069/", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:8069/' + interval: 30s timeout: 10s retries: 3 @@ -68,7 +67,7 @@ services: cpus: ${ODOO_DB_CPU_RESERVATION:-0.25} memory: ${ODOO_DB_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-odoo}"] + test: [CMD-SHELL, 'pg_isready -U ${POSTGRES_USER:-odoo}'] interval: 10s timeout: 5s retries: 5 diff --git a/src/ollama/docker-compose.yaml b/src/ollama/docker-compose.yaml index 467dabe..cde83b9 100644 --- a/src/ollama/docker-compose.yaml +++ b/src/ollama/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: ollama: <<: *defaults image: ${GLOBAL_REGISTRY:-}ollama/ollama:${OLLAMA_VERSION:-0.14.3} ports: - - "${OLLAMA_PORT_OVERRIDE:-11434}:11434" + - '${OLLAMA_PORT_OVERRIDE:-11434}:11434' volumes: - ollama_models:/root/.ollama environment: @@ -19,14 +19,13 @@ services: ipc: host healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:11434/", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:11434/' + interval: 30s timeout: 10s retries: 3 @@ -41,7 +40,7 @@ services: memory: ${OLLAMA_MEMORY_RESERVATION:-4G} devices: - driver: nvidia - device_ids: ["0"] + device_ids: ['0'] capabilities: [gpu] volumes: diff --git a/src/open-webui/docker-compose.yaml b/src/open-webui/docker-compose.yaml index 837a0d1..837e58f 100644 --- a/src/open-webui/docker-compose.yaml +++ b/src/open-webui/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: open_webui: <<: *defaults image: ${GHCR_IO_REGISTRY:-ghcr.io}/open-webui/open-webui:${OPEN_WEBUI_VERSION:-main} ports: - - "${OPEN_WEBUI_PORT_OVERRIDE:-8080}:8080" + - '${OPEN_WEBUI_PORT_OVERRIDE:-8080}:8080' volumes: - open_webui_data:/app/backend/data environment: diff --git a/src/opencode/docker-compose.yaml b/src/opencode/docker-compose.yaml index 6e0f1b0..4cbde34 100644 --- a/src/opencode/docker-compose.yaml +++ b/src/opencode/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: opencode: @@ -12,7 +12,7 @@ services: image: ${GLOBAL_REGISTRY:-}ghcr.io/anomalyco/opencode:${OPENCODE_VERSION:-1.1.27} command: web --hostname 0.0.0.0 --port 4096 ports: - - "${OPENCODE_PORT_OVERRIDE:-4096}:4096" + - '${OPENCODE_PORT_OVERRIDE:-4096}:4096' volumes: - opencode_data:/root/.opencode - ${OPENCODE_PROJECT_DIR:-./project}:/app @@ -29,14 +29,13 @@ services: working_dir: /app healthcheck: test: - [ - "CMD", - "wget", - "--quiet", - "--tries=1", - "--spider", - "http://localhost:4096/", - ] + - CMD + - wget + - --quiet + - --tries=1 + - --spider + - 'http://localhost:4096/' + interval: 30s timeout: 10s retries: 3 diff --git a/src/opencut/README.md b/src/opencut/README.md index 6dc552e0cb0aafa0cab31ed29535859ea78a4897..0aabc0941cdbdb7b5c02f26954bfcfa58c76698a 100644 GIT binary patch delta 38 ocmX@$d)k-n{r /dev/tcp/localhost/80'"] + test: [CMD-SHELL, "bash -c 'echo > /dev/tcp/localhost/80'"] interval: 30s timeout: 10s retries: 3 diff --git a/src/pingora-proxy-manager/docker-compose.yaml b/src/pingora-proxy-manager/docker-compose.yaml index a015d78..c64b9e6 100644 --- a/src/pingora-proxy-manager/docker-compose.yaml +++ b/src/pingora-proxy-manager/docker-compose.yaml @@ -7,16 +7,16 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: pingora-proxy-manager: <<: *defaults image: ${GLOBAL_REGISTRY:-}dduldduck/pingora-proxy-manager:${PINGORA_VERSION:-v1.0.3} ports: - - "${PINGORA_HTTP_PORT_OVERRIDE:-80}:8080" - - "${PINGORA_DASHBOARD_PORT_OVERRIDE:-81}:81" - - "${PINGORA_HTTPS_PORT_OVERRIDE:-443}:443" + - '${PINGORA_HTTP_PORT_OVERRIDE:-80}:8080' + - '${PINGORA_DASHBOARD_PORT_OVERRIDE:-81}:81' + - '${PINGORA_HTTPS_PORT_OVERRIDE:-443}:443' volumes: - pingora_data:/app/data - pingora_logs:/app/logs @@ -26,7 +26,7 @@ services: - JWT_SECRET=${PINGORA_JWT_SECRET:-changeme_in_production_please} - RUST_LOG=${PINGORA_LOG_LEVEL:-info} healthcheck: - test: ["CMD", "sh", "-c", "wget -q --spider http://127.0.0.1:81/api/login || exit 1"] + test: [CMD, sh, -c, 'wget -q --spider http://127.0.0.1:81/api/login || exit 1'] interval: 30s timeout: 10s retries: 3 @@ -34,11 +34,11 @@ services: deploy: resources: limits: - cpus: "${PINGORA_CPU_LIMIT:-2.00}" - memory: "${PINGORA_MEMORY_LIMIT:-512M}" + cpus: '${PINGORA_CPU_LIMIT:-2.00}' + memory: '${PINGORA_MEMORY_LIMIT:-512M}' reservations: - cpus: "${PINGORA_CPU_RESERVATION:-0.50}" - memory: "${PINGORA_MEMORY_RESERVATION:-256M}" + cpus: '${PINGORA_CPU_RESERVATION:-0.50}' + memory: '${PINGORA_MEMORY_RESERVATION:-256M}' # Security hardening cap_drop: - ALL diff --git a/src/pocketbase/docker-compose.yaml b/src/pocketbase/docker-compose.yaml index 935406c..0a7a5cd 100644 --- a/src/pocketbase/docker-compose.yaml +++ b/src/pocketbase/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: pocketbase: @@ -19,7 +19,7 @@ services: PB_ADMIN_EMAIL: ${PB_ADMIN_EMAIL:-admin@example.com} PB_ADMIN_PASSWORD: ${PB_ADMIN_PASSWORD:-supersecret123} ports: - - "${PB_PORT:-8090}:8090" + - '${PB_PORT:-8090}:8090' volumes: - pb_data:/pb_data diff --git a/src/podman/docker-compose.yaml b/src/podman/docker-compose.yaml index 850b6f3..8b93aca 100644 --- a/src/podman/docker-compose.yaml +++ b/src/podman/docker-compose.yaml @@ -7,26 +7,26 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: podman: <<: *defaults image: ${GLOBAL_REGISTRY:-}quay.io/podman/stable:${PODMAN_VERSION:-v5.7.1} - #! Podman-in-Container usually requires privileged mode to manage containers + # ! Podman-in-Container usually requires privileged mode to manage containers privileged: true - #! Optional: Enable Podman API service + # ! Optional: Enable Podman API service command: podman system service --time=0 tcp:0.0.0.0:8888 ports: - - "${PODMAN_PORT_OVERRIDE:-8888}:8888" + - '${PODMAN_PORT_OVERRIDE:-8888}:8888' volumes: - podman_data:/var/lib/containers - #! Optional: volume for podman configs/registries + # ! Optional: volume for podman configs/registries # - ./registries.conf:/etc/containers/registries.conf:ro environment: - TZ=${TZ:-UTC} healthcheck: - test: ["CMD", "podman", "info"] + test: [CMD, podman, info] interval: 30s timeout: 10s retries: 3 diff --git a/src/pogocache/docker-compose.yaml b/src/pogocache/docker-compose.yaml index 3148fa4..0829955 100644 --- a/src/pogocache/docker-compose.yaml +++ b/src/pogocache/docker-compose.yaml @@ -8,14 +8,14 @@ x-defaults: &defaults driver: json-file options: max-size: 10m - max-file: "3" + max-file: '3' services: pogocache: <<: *defaults image: ${GLOBAL_REGISTRY:-}pogocache/pogocache:${POGOCACHE_VERSION:-1.3.1} ports: - - "${POGOCACHE_PORT_OVERRIDE:-9401}:9401" + - '${POGOCACHE_PORT_OVERRIDE:-9401}:9401' environment: - TZ=${TZ:-UTC} volumes: @@ -24,7 +24,7 @@ services: ${POGOCACHE_EXTRA_ARGS:-} --persist /data/pogocache.db healthcheck: - test: ["CMD-SHELL", "nc -z localhost 9401 || exit 1"] + test: [CMD-SHELL, 'nc -z localhost 9401 || exit 1'] interval: 10s timeout: 5s retries: 5 diff --git a/src/portainer/docker-compose.yaml b/src/portainer/docker-compose.yaml index 5a9f9f3..0c4ec07 100644 --- a/src/portainer/docker-compose.yaml +++ b/src/portainer/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: portainer: <<: *defaults image: ${GLOBAL_REGISTRY:-}portainer/portainer-ce:${PORTAINER_VERSION:-2.27.3-alpine} ports: - - "${PORTAINER_WEB_PORT_OVERRIDE:-9000}:9000" - - "${PORTAINER_EDGE_PORT_OVERRIDE:-8000}:8000" + - '${PORTAINER_WEB_PORT_OVERRIDE:-9000}:9000' + - '${PORTAINER_EDGE_PORT_OVERRIDE:-8000}:8000' volumes: # ⚠️ Security Warning: Mounting Docker socket grants full control of Docker daemon # This is required for Portainer to function, but ensure access is properly secured @@ -21,7 +21,7 @@ services: environment: - TZ=${TZ:-UTC} healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:9000/api/system/status"] + test: [CMD, wget, --spider, -q, 'http://localhost:9000/api/system/status'] interval: 30s timeout: 10s retries: 3 diff --git a/src/portkey-gateway/docker-compose.yaml b/src/portkey-gateway/docker-compose.yaml index 11f2273..14a7eb3 100644 --- a/src/portkey-gateway/docker-compose.yaml +++ b/src/portkey-gateway/docker-compose.yaml @@ -4,18 +4,18 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: portkey-gateway: <<: *defaults image: ${GLOBAL_REGISTRY:-}portkeyai/gateway:${PORTKEY_GATEWAY_VERSION:-latest} ports: - - "${PORTKEY_GATEWAY_PORT_OVERRIDE:-8787}:8787" + - '${PORTKEY_GATEWAY_PORT_OVERRIDE:-8787}:8787' environment: - TZ=${TZ:-UTC} healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8787"] + test: [CMD, wget, --spider, -q, 'http://localhost:8787'] interval: 30s timeout: 10s retries: 3 diff --git a/src/postgres/docker-compose.yaml b/src/postgres/docker-compose.yaml index 9d86478..8a4694b 100644 --- a/src/postgres/docker-compose.yaml +++ b/src/postgres/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: postgres: @@ -21,7 +21,7 @@ services: # Initialize the database with a custom SQL script # - ./init.sql:/docker-entrypoint-initdb.d/init.sql ports: - - "${POSTGRES_PORT_OVERRIDE:-5432}:5432" + - '${POSTGRES_PORT_OVERRIDE:-5432}:5432' deploy: resources: limits: @@ -31,7 +31,7 @@ services: cpus: ${POSTGRES_CPU_RESERVATION:-0.5} memory: ${POSTGRES_MEMORY_RESERVATION:-512M} 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 timeout: 10s retries: 3 diff --git a/src/prometheus/README.md b/src/prometheus/README.md index 2a904a2..f9fcf91 100644 --- a/src/prometheus/README.md +++ b/src/prometheus/README.md @@ -53,11 +53,11 @@ global: evaluation_interval: 15s scrape_configs: - - job_name: 'prometheus' + - job_name: prometheus static_configs: - targets: ['localhost:9090'] - - - job_name: 'node_exporter' + + - job_name: node_exporter static_configs: - targets: ['node_exporter:9100'] ``` @@ -101,7 +101,7 @@ services: cadvisor: image: gcr.io/cadvisor/cadvisor:latest ports: - - "8080:8080" + - '8080:8080' volumes: - /:/rootfs:ro - /var/run:/var/run:ro diff --git a/src/prometheus/README.zh.md b/src/prometheus/README.zh.md index 2b99835..7f7b184 100644 --- a/src/prometheus/README.zh.md +++ b/src/prometheus/README.zh.md @@ -53,11 +53,11 @@ global: evaluation_interval: 15s scrape_configs: - - job_name: 'prometheus' + - job_name: prometheus static_configs: - targets: ['localhost:9090'] - - - job_name: 'node_exporter' + + - job_name: node_exporter static_configs: - targets: ['node_exporter:9100'] ``` @@ -101,7 +101,7 @@ services: cadvisor: image: gcr.io/cadvisor/cadvisor:latest ports: - - "8080:8080" + - '8080:8080' volumes: - /:/rootfs:ro - /var/run:/var/run:ro diff --git a/src/prometheus/docker-compose.yaml b/src/prometheus/docker-compose.yaml index f06d2b5..cce3f09 100644 --- a/src/prometheus/docker-compose.yaml +++ b/src/prometheus/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: prometheus: <<: *defaults image: ${GLOBAL_REGISTRY:-}prom/prometheus:${PROMETHEUS_VERSION:-v3.5.1} ports: - - "${PROMETHEUS_PORT_OVERRIDE:-9090}:9090" + - '${PROMETHEUS_PORT_OVERRIDE:-9090}:9090' volumes: - prometheus_data:/prometheus @@ -19,20 +19,20 @@ services: # - ./prometheus.yml:/etc/prometheus/prometheus.yml # - ./rules:/etc/prometheus/rules command: - - "--config.file=/etc/prometheus/prometheus.yml" - - "--storage.tsdb.path=/prometheus" - - "--web.console.libraries=/etc/prometheus/console_libraries" - - "--web.console.templates=/etc/prometheus/consoles" - - "--storage.tsdb.retention.time=${PROMETHEUS_RETENTION_TIME:-15d}" - - "--storage.tsdb.retention.size=${PROMETHEUS_RETENTION_SIZE:-}" - - "--web.enable-lifecycle" - - "--web.enable-admin-api" - - "--web.external-url=${PROMETHEUS_EXTERNAL_URL:-http://localhost:9090}" + - --config.file=/etc/prometheus/prometheus.yml + - --storage.tsdb.path=/prometheus + - --web.console.libraries=/etc/prometheus/console_libraries + - --web.console.templates=/etc/prometheus/consoles + - '--storage.tsdb.retention.time=${PROMETHEUS_RETENTION_TIME:-15d}' + - '--storage.tsdb.retention.size=${PROMETHEUS_RETENTION_SIZE:-}' + - --web.enable-lifecycle + - --web.enable-admin-api + - '--web.external-url=${PROMETHEUS_EXTERNAL_URL:-http://localhost:9090}' environment: - TZ=${TZ:-UTC} - PROMETHEUS_RETENTION_TIME=${PROMETHEUS_RETENTION_TIME:-15d} - PROMETHEUS_RETENTION_SIZE=${PROMETHEUS_RETENTION_SIZE:-} - user: "65534:65534" # nobody user + user: '65534:65534' # nobody user deploy: resources: limits: @@ -43,14 +43,13 @@ services: memory: ${PROMETHEUS_MEMORY_RESERVATION:-512M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:9090/-/healthy", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:9090/-/healthy' + interval: 30s timeout: 10s retries: 3 diff --git a/src/pulsar/docker-compose.yaml b/src/pulsar/docker-compose.yaml index 54c3a4d..a6d8c85 100644 --- a/src/pulsar/docker-compose.yaml +++ b/src/pulsar/docker-compose.yaml @@ -7,7 +7,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: # Standalone mode (default) - single node deployment for development/testing @@ -15,11 +15,11 @@ services: <<: *defaults image: ${GLOBAL_REGISTRY:-}apachepulsar/pulsar:${PULSAR_VERSION:-4.0.7} profiles: - - "" + - '' hostname: pulsar-standalone ports: - - "${PULSAR_BROKER_PORT_OVERRIDE:-6650}:6650" - - "${PULSAR_HTTP_PORT_OVERRIDE:-8080}:8080" + - '${PULSAR_BROKER_PORT_OVERRIDE:-6650}:6650' + - '${PULSAR_HTTP_PORT_OVERRIDE:-8080}:8080' volumes: - pulsar_data:/pulsar/data - pulsar_conf:/pulsar/conf @@ -37,7 +37,7 @@ services: cpus: ${PULSAR_CPU_RESERVATION:-0.50} memory: ${PULSAR_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD-SHELL", "bin/pulsar-admin brokers healthcheck || exit 1"] + test: [CMD-SHELL, 'bin/pulsar-admin brokers healthcheck || exit 1'] interval: 30s timeout: 10s retries: 5 @@ -70,7 +70,7 @@ services: cpus: ${ZOOKEEPER_CPU_RESERVATION:-0.25} memory: ${ZOOKEEPER_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "bin/pulsar-zookeeper-ruok.sh"] + test: [CMD, bin/pulsar-zookeeper-ruok.sh] interval: 10s timeout: 5s retries: 30 @@ -124,7 +124,7 @@ services: cpus: ${BOOKIE_CPU_RESERVATION:-0.25} memory: ${BOOKIE_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "bin/bookkeeper", "shell", "bookiesanity"] + test: [CMD, bin/bookkeeper, shell, bookiesanity] interval: 30s timeout: 10s retries: 5 @@ -137,8 +137,8 @@ services: profiles: - cluster ports: - - "${PULSAR_BROKER_PORT_OVERRIDE:-6650}:6650" - - "${PULSAR_HTTP_PORT_OVERRIDE:-8080}:8080" + - '${PULSAR_BROKER_PORT_OVERRIDE:-6650}:6650' + - '${PULSAR_HTTP_PORT_OVERRIDE:-8080}:8080' environment: - TZ=${TZ:-UTC} - metadataStoreUrl=zk:zookeeper:2181 @@ -165,7 +165,7 @@ services: cpus: ${BROKER_CPU_RESERVATION:-0.50} memory: ${BROKER_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "bin/pulsar-admin", "brokers", "healthcheck"] + test: [CMD, bin/pulsar-admin, brokers, healthcheck] interval: 30s timeout: 10s retries: 5 diff --git a/src/pytorch/docker-compose.yaml b/src/pytorch/docker-compose.yaml index 831bae0..8a199cb 100644 --- a/src/pytorch/docker-compose.yaml +++ b/src/pytorch/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: pytorch: <<: *defaults image: ${GLOBAL_REGISTRY:-}pytorch/pytorch:${PYTORCH_VERSION:-2.6.0-cuda12.6-cudnn9-runtime} ports: - - "${JUPYTER_PORT_OVERRIDE:-8888}:8888" - - "${TENSORBOARD_PORT_OVERRIDE:-6006}:6006" + - '${JUPYTER_PORT_OVERRIDE:-8888}:8888' + - '${TENSORBOARD_PORT_OVERRIDE:-6006}:6006' environment: TZ: ${TZ:-UTC} NVIDIA_VISIBLE_DEVICES: ${NVIDIA_VISIBLE_DEVICES:-all} @@ -39,7 +39,7 @@ services: count: ${GPU_COUNT:-1} capabilities: [gpu] healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8888/"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:8888/'] interval: 30s timeout: 10s retries: 3 diff --git a/src/qdrant/docker-compose.yaml b/src/qdrant/docker-compose.yaml index 8dc780f..e19abd6 100644 --- a/src/qdrant/docker-compose.yaml +++ b/src/qdrant/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: qdrant: <<: *defaults image: ${GLOBAL_REGISTRY:-}qdrant/qdrant:${QDRANT_VERSION:-v1.15.4} ports: - - "${QDRANT_HTTP_PORT:-6333}:6333" - - "${QDRANT_GRPC_PORT:-6334}:6334" + - '${QDRANT_HTTP_PORT:-6333}:6333' + - '${QDRANT_GRPC_PORT:-6334}:6334' volumes: - qdrant_data:/qdrant/storage:z environment: @@ -28,7 +28,7 @@ services: cpus: ${QDRANT_CPU_RESERVATION:-0.5} memory: ${QDRANT_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:6333/"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:6333/'] interval: 30s timeout: 10s retries: 3 diff --git a/src/rabbitmq/docker-compose.yaml b/src/rabbitmq/docker-compose.yaml index c0bdac8..69dcf5a 100644 --- a/src/rabbitmq/docker-compose.yaml +++ b/src/rabbitmq/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: rabbitmq: @@ -28,7 +28,7 @@ services: cpus: ${RABBITMQ_CPU_RESERVATION:-0.5} memory: ${RABBITMQ_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD", "rabbitmq-diagnostics", "-q", "ping"] + test: [CMD, rabbitmq-diagnostics, -q, ping] interval: 30s timeout: 10s retries: 3 diff --git a/src/ray/docker-compose.yaml b/src/ray/docker-compose.yaml index 9292ae2..598d10a 100644 --- a/src/ray/docker-compose.yaml +++ b/src/ray/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: ray-head: @@ -12,9 +12,9 @@ services: image: ${GLOBAL_REGISTRY:-}rayproject/ray:${RAY_VERSION:-2.42.1-py312} command: ray start --head --dashboard-host=0.0.0.0 --port=6379 --block ports: - - "${RAY_DASHBOARD_PORT_OVERRIDE:-8265}:8265" - - "${RAY_CLIENT_PORT_OVERRIDE:-10001}:10001" - - "${RAY_GCS_PORT_OVERRIDE:-6379}:6379" + - '${RAY_DASHBOARD_PORT_OVERRIDE:-8265}:8265' + - '${RAY_CLIENT_PORT_OVERRIDE:-10001}:10001' + - '${RAY_GCS_PORT_OVERRIDE:-6379}:6379' environment: TZ: ${TZ:-UTC} RAY_NUM_CPUS: ${RAY_HEAD_NUM_CPUS:-4} @@ -30,7 +30,7 @@ services: cpus: ${RAY_HEAD_CPU_RESERVATION:-2.0} memory: ${RAY_HEAD_MEMORY_RESERVATION:-4G} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8265/"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:8265/'] interval: 30s timeout: 10s retries: 3 diff --git a/src/redis-cluster/docker-compose.yaml b/src/redis-cluster/docker-compose.yaml index 3a15703..59b127b 100644 --- a/src/redis-cluster/docker-compose.yaml +++ b/src/redis-cluster/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: redis-cluster-init: @@ -43,7 +43,7 @@ services: - TZ=${TZ:-UTC} command: redis-server --port 6379 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - - "7000:6379" + - '7000:6379' volumes: - redis_1_data:/data deploy: @@ -55,7 +55,7 @@ services: cpus: ${REDIS_CLUSTER_1_CPU_RESERVATION:-0.25} memory: ${REDIS_CLUSTER_1_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 3s retries: 3 @@ -68,7 +68,7 @@ services: - TZ=${TZ:-UTC} command: redis-server --port 6379 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - - "7001:6379" + - '7001:6379' volumes: - redis_2_data:/data deploy: @@ -80,7 +80,7 @@ services: cpus: ${REDIS_CLUSTER_2_CPU_RESERVATION:-0.25} memory: ${REDIS_CLUSTER_2_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 3s retries: 3 @@ -93,7 +93,7 @@ services: - TZ=${TZ:-UTC} command: redis-server --port 6379 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - - "7002:6379" + - '7002:6379' volumes: - redis_3_data:/data deploy: @@ -105,7 +105,7 @@ services: cpus: ${REDIS_CLUSTER_3_CPU_RESERVATION:-0.25} memory: ${REDIS_CLUSTER_3_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 3s retries: 3 @@ -118,7 +118,7 @@ services: - TZ=${TZ:-UTC} command: redis-server --port 6379 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - - "7003:6379" + - '7003:6379' volumes: - redis_4_data:/data deploy: @@ -130,7 +130,7 @@ services: cpus: ${REDIS_CLUSTER_4_CPU_RESERVATION:-0.25} memory: ${REDIS_CLUSTER_4_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 3s retries: 3 @@ -143,7 +143,7 @@ services: - TZ=${TZ:-UTC} command: redis-server --port 6379 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - - "7004:6379" + - '7004:6379' volumes: - redis_5_data:/data deploy: @@ -155,7 +155,7 @@ services: cpus: ${REDIS_CLUSTER_5_CPU_RESERVATION:-0.25} memory: ${REDIS_CLUSTER_5_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 3s retries: 3 @@ -168,7 +168,7 @@ services: - TZ=${TZ:-UTC} command: redis-server --port 6379 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - - "7005:6379" + - '7005:6379' volumes: - redis_6_data:/data deploy: @@ -180,7 +180,7 @@ services: cpus: ${REDIS_CLUSTER_6_CPU_RESERVATION:-0.25} memory: ${REDIS_CLUSTER_6_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 3s retries: 3 diff --git a/src/redis/docker-compose.yaml b/src/redis/docker-compose.yaml index 0cfc266..969246d 100644 --- a/src/redis/docker-compose.yaml +++ b/src/redis/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: redis: <<: *defaults image: ${GLOBAL_REGISTRY:-}redis:${REDIS_VERSION:-8.2.1-alpine3.22} ports: - - "${REDIS_PORT_OVERRIDE:-6379}:6379" + - '${REDIS_PORT_OVERRIDE:-6379}:6379' volumes: - redis_data:/data # Use a custom redis.conf file @@ -30,7 +30,7 @@ services: redis-server fi healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 3s retries: 3 diff --git a/src/redpanda/README.md b/src/redpanda/README.md index a4fbae8..42dd65c 100644 --- a/src/redpanda/README.md +++ b/src/redpanda/README.md @@ -26,7 +26,7 @@ Redpanda is a Kafka-compatible streaming data platform built for performance and ```bash # Start only Redpanda (without console) docker compose up -d - + # Or start with Redpanda Console UI docker compose --profile console up -d ``` @@ -106,7 +106,7 @@ Default resource limits: - **Redpanda**: - CPU: 1.0-2.0 cores - Memory: 1G-2G - + - **Console**: - CPU: 0.25-0.5 cores - Memory: 256M-512M diff --git a/src/redpanda/README.zh.md b/src/redpanda/README.zh.md index 2ec04d2..4584809 100644 --- a/src/redpanda/README.zh.md +++ b/src/redpanda/README.zh.md @@ -26,7 +26,7 @@ Redpanda 是一个与 Kafka 兼容的流数据平台,专为性能和开发者 ```bash # 仅启动 Redpanda(不包含控制台) docker compose up -d - + # 或者启动包含 Redpanda Console UI docker compose --profile console up -d ``` diff --git a/src/redpanda/docker-compose.yaml b/src/redpanda/docker-compose.yaml index b26c13c..6edbe3e 100644 --- a/src/redpanda/docker-compose.yaml +++ b/src/redpanda/docker-compose.yaml @@ -7,7 +7,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: redpanda: @@ -29,17 +29,17 @@ services: - --reserve-memory 0M - --memory ${REDPANDA_MEMORY:-1G} ports: - - "${REDPANDA_SCHEMA_PORT_OVERRIDE:-18081}:8081" - - "${REDPANDA_PROXY_PORT_OVERRIDE:-18082}:8082" - - "${REDPANDA_KAFKA_PORT_OVERRIDE:-19092}:19092" - - "${REDPANDA_ADMIN_PORT_OVERRIDE:-19644}:9644" + - '${REDPANDA_SCHEMA_PORT_OVERRIDE:-18081}:8081' + - '${REDPANDA_PROXY_PORT_OVERRIDE:-18082}:8082' + - '${REDPANDA_KAFKA_PORT_OVERRIDE:-19092}:19092' + - '${REDPANDA_ADMIN_PORT_OVERRIDE:-19644}:9644' volumes: - redpanda_data:/var/lib/redpanda/data environment: - TZ=${TZ:-UTC} healthcheck: test: - ["CMD-SHELL", "rpk cluster health | grep -E 'Healthy:.+true' || exit 1"] + [CMD-SHELL, "rpk cluster health | grep -E 'Healthy:.+true' || exit 1"] interval: 15s timeout: 10s retries: 5 @@ -59,7 +59,7 @@ services: profiles: - console ports: - - "${REDPANDA_CONSOLE_PORT_OVERRIDE:-8080}:8080" + - '${REDPANDA_CONSOLE_PORT_OVERRIDE:-8080}:8080' environment: - KAFKA_BROKERS=redpanda:9092 - KAFKA_SCHEMAREGISTRY_ENABLED=true @@ -72,7 +72,7 @@ services: condition: service_healthy healthcheck: test: - ["CMD", "wget", "--spider", "-q", "http://localhost:8080/admin/health"] + [CMD, wget, --spider, -q, 'http://localhost:8080/admin/health'] interval: 10s timeout: 5s retries: 3 diff --git a/src/renovate/README.md b/src/renovate/README.md index a4b7395..6ce5362 100644 --- a/src/renovate/README.md +++ b/src/renovate/README.md @@ -69,14 +69,14 @@ For advanced configuration, edit `config.js`: module.exports = { platform: 'github', repositories: ['myorg/repo1', 'myorg/repo2'], - + // Schedule (cron format) schedule: ['before 5am on monday'], - + // Auto-merge settings automerge: true, automergeType: 'pr', - + // Package rules packageRules: [ { @@ -84,7 +84,7 @@ module.exports = { automerge: true, }, ], -}; +} ``` ## Usage Examples @@ -204,9 +204,11 @@ Verify token scopes: Configure rate limits in `config.js`: -```javascript -prConcurrentLimit: 10, -prHourlyLimit: 2, +```json +{ + "prConcurrentLimit": 10, + "prHourlyLimit": 2 +} ``` ## Documentation diff --git a/src/renovate/README.zh.md b/src/renovate/README.zh.md index 554ede9..15e5348 100644 --- a/src/renovate/README.zh.md +++ b/src/renovate/README.zh.md @@ -69,14 +69,14 @@ Renovate 是一个自动化依赖更新工具,当有新版本可用时,它 module.exports = { platform: 'github', repositories: ['myorg/repo1', 'myorg/repo2'], - + // 调度(cron 格式) schedule: ['before 5am on monday'], - + // 自动合并设置 automerge: true, automergeType: 'pr', - + // 包规则 packageRules: [ { @@ -84,7 +84,7 @@ module.exports = { automerge: true, }, ], -}; +} ``` ## 使用示例 @@ -204,9 +204,11 @@ Renovate 支持 100 多个包管理器,包括: 在 `config.js` 中配置速率限制: -```javascript -prConcurrentLimit: 10, -prHourlyLimit: 2, +```json +{ + "prConcurrentLimit": 10, + "prHourlyLimit": 2 +} ``` ## 文档 diff --git a/src/renovate/config.js b/src/renovate/config.js index d4ae4ef..6a5648e 100644 --- a/src/renovate/config.js +++ b/src/renovate/config.js @@ -40,4 +40,4 @@ module.exports = { // labels: ['major-update'], // }, // ], -}; +} diff --git a/src/renovate/docker-compose.yaml b/src/renovate/docker-compose.yaml index 5a7e88d..4643298 100644 --- a/src/renovate/docker-compose.yaml +++ b/src/renovate/docker-compose.yaml @@ -7,7 +7,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: renovate: @@ -17,7 +17,7 @@ services: # Renovate runs as a scheduled job, not a continuous service # Use 'docker compose run --rm renovate' to execute manually # Or configure with cron/scheduler for periodic runs - restart: "no" + restart: no volumes: # Configuration files @@ -87,8 +87,8 @@ services: memory: ${RENOVATE_MEMORY_RESERVATION:-512M} # Security options - read_only: false # Renovate needs to write to cache and clone repos - user: "${PUID:-1000}:${PGID:-1000}" + read_only: false # Renovate needs to write to cache and clone repos + user: '${PUID:-1000}:${PGID:-1000}' cap_drop: - ALL cap_add: diff --git a/src/restate-cluster/README.md b/src/restate-cluster/README.md index a57f35b..6c81358 100644 --- a/src/restate-cluster/README.md +++ b/src/restate-cluster/README.md @@ -29,10 +29,10 @@ A highly-available 3-node Restate cluster for production workloads. This configu ```bash # Check node 1 curl http://localhost:9070/health - + # Check node 2 curl http://localhost:29070/health - + # Check node 3 curl http://localhost:39070/health ``` diff --git a/src/restate-cluster/README.zh.md b/src/restate-cluster/README.zh.md index d983182..c0f68f2 100644 --- a/src/restate-cluster/README.zh.md +++ b/src/restate-cluster/README.zh.md @@ -29,10 +29,10 @@ ```bash # 检查节点 1 curl http://localhost:9070/health - + # 检查节点 2 curl http://localhost:29070/health - + # 检查节点 3 curl http://localhost:39070/health ``` diff --git a/src/restate-cluster/docker-compose.yaml b/src/restate-cluster/docker-compose.yaml index 1af9ae4..8fa2128 100644 --- a/src/restate-cluster/docker-compose.yaml +++ b/src/restate-cluster/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' x-environment: &common-env TZ: ${TZ:-UTC} @@ -45,17 +45,17 @@ services: restate-1: <<: *restate-defaults ports: - - "${NODE1_INGRESS_PORT_OVERRIDE:-8080}:8080" # Ingress API - - "${NODE1_ADMIN_PORT_OVERRIDE:-9070}:9070" # Admin API - - "${NODE1_NODE_PORT_OVERRIDE:-5122}:5122" # Node-to-node + - '${NODE1_INGRESS_PORT_OVERRIDE:-8080}:8080' # Ingress API + - '${NODE1_ADMIN_PORT_OVERRIDE:-9070}:9070' # Admin API + - '${NODE1_NODE_PORT_OVERRIDE:-5122}:5122' # Node-to-node environment: <<: *common-env RESTATE_NODE_NAME: restate-1 RESTATE_FORCE_NODE_ID: 1 RESTATE_ADVERTISED_ADDRESS: ${RESTATE_NODE1_ADVERTISED_ADDRESS:-http://restate-1:5122} - RESTATE_AUTO_PROVISION: "true" # Only first node provisions cluster + RESTATE_AUTO_PROVISION: 'true' # Only first node provisions cluster healthcheck: - test: ["CMD", "sh", "-c", "wget --no-verbose --tries=1 --spider http://localhost:9070/health || exit 1"] + test: [CMD, sh, -c, 'wget --no-verbose --tries=1 --spider http://localhost:9070/health || exit 1'] interval: 30s timeout: 10s retries: 3 @@ -67,17 +67,17 @@ services: restate-2: <<: *restate-defaults ports: - - "${NODE2_INGRESS_PORT_OVERRIDE:-28080}:8080" - - "${NODE2_ADMIN_PORT_OVERRIDE:-29070}:9070" - - "${NODE2_NODE_PORT_OVERRIDE:-25122}:5122" + - '${NODE2_INGRESS_PORT_OVERRIDE:-28080}:8080' + - '${NODE2_ADMIN_PORT_OVERRIDE:-29070}:9070' + - '${NODE2_NODE_PORT_OVERRIDE:-25122}:5122' environment: <<: *common-env RESTATE_NODE_NAME: restate-2 RESTATE_FORCE_NODE_ID: 2 RESTATE_ADVERTISED_ADDRESS: ${RESTATE_NODE2_ADVERTISED_ADDRESS:-http://restate-2:5122} - RESTATE_AUTO_PROVISION: "false" + RESTATE_AUTO_PROVISION: 'false' healthcheck: - test: ["CMD", "sh", "-c", "wget --no-verbose --tries=1 --spider http://localhost:9070/health || exit 1"] + test: [CMD, sh, -c, 'wget --no-verbose --tries=1 --spider http://localhost:9070/health || exit 1'] interval: 30s timeout: 10s retries: 3 @@ -91,17 +91,17 @@ services: restate-3: <<: *restate-defaults ports: - - "${NODE3_INGRESS_PORT_OVERRIDE:-38080}:8080" - - "${NODE3_ADMIN_PORT_OVERRIDE:-39070}:9070" - - "${NODE3_NODE_PORT_OVERRIDE:-35122}:5122" + - '${NODE3_INGRESS_PORT_OVERRIDE:-38080}:8080' + - '${NODE3_ADMIN_PORT_OVERRIDE:-39070}:9070' + - '${NODE3_NODE_PORT_OVERRIDE:-35122}:5122' environment: <<: *common-env RESTATE_NODE_NAME: restate-3 RESTATE_FORCE_NODE_ID: 3 RESTATE_ADVERTISED_ADDRESS: ${RESTATE_NODE3_ADVERTISED_ADDRESS:-http://restate-3:5122} - RESTATE_AUTO_PROVISION: "false" + RESTATE_AUTO_PROVISION: 'false' healthcheck: - test: ["CMD", "sh", "-c", "wget --no-verbose --tries=1 --spider http://localhost:9070/health || exit 1"] + test: [CMD, sh, -c, 'wget --no-verbose --tries=1 --spider http://localhost:9070/health || exit 1'] interval: 30s timeout: 10s retries: 3 @@ -115,17 +115,17 @@ services: minio: <<: *defaults image: quay.io/minio/minio:${MINIO_VERSION:-latest} - command: ["sh", "-c", "mkdir -p /data/restate && /usr/bin/minio server --quiet /data --console-address :9001"] + command: [sh, -c, 'mkdir -p /data/restate && /usr/bin/minio server --quiet /data --console-address :9001'] ports: - - "${MINIO_API_PORT_OVERRIDE:-9000}:9000" - - "${MINIO_CONSOLE_PORT_OVERRIDE:-9001}:9001" + - '${MINIO_API_PORT_OVERRIDE:-9000}:9000' + - '${MINIO_CONSOLE_PORT_OVERRIDE:-9001}:9001' environment: - MINIO_ROOT_USER=${MINIO_ROOT_USER:-minioadmin} - MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-minioadmin} volumes: - minio_data:/data healthcheck: - test: ["CMD", "mc", "ready", "local"] + test: [CMD, mc, ready, local] interval: 10s timeout: 5s retries: 5 diff --git a/src/restate/docker-compose.yaml b/src/restate/docker-compose.yaml index 7770a92..ba53950 100644 --- a/src/restate/docker-compose.yaml +++ b/src/restate/docker-compose.yaml @@ -4,24 +4,24 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: restate: <<: *defaults image: ${GLOBAL_REGISTRY:-}restatedev/restate:${RESTATE_VERSION:-1.5.3} - command: ["--node-name=restate-1"] + command: [--node-name=restate-1] ports: - - "${INGRESS_PORT_OVERRIDE:-8080}:8080" # Ingress API - - "${ADMIN_PORT_OVERRIDE:-9070}:9070" # Admin API - - "${NODE_PORT_OVERRIDE:-5122}:5122" # Node-to-node communication + - '${INGRESS_PORT_OVERRIDE:-8080}:8080' # Ingress API + - '${ADMIN_PORT_OVERRIDE:-9070}:9070' # Admin API + - '${NODE_PORT_OVERRIDE:-5122}:5122' # Node-to-node communication volumes: - restate_data:/restate-data environment: - TZ=${TZ:-UTC} - RESTATE_LOG_FILTER=${RESTATE_LOG_FILTER:-restate=info} healthcheck: - test: ["CMD", "sh", "-c", "curl --no-verbose --tries=1 --spider http://localhost:9070/health || exit 1"] + test: [CMD, sh, -c, 'curl --no-verbose --tries=1 --spider http://localhost:9070/health || exit 1'] interval: 30s timeout: 10s retries: 3 diff --git a/src/rocketmq/docker-compose.yaml b/src/rocketmq/docker-compose.yaml index affc451..36a2e2c 100644 --- a/src/rocketmq/docker-compose.yaml +++ b/src/rocketmq/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: namesrv: @@ -13,9 +13,9 @@ services: command: sh mqnamesrv environment: TZ: ${TZ:-UTC} - JAVA_OPT_EXT: "-Xms512m -Xmx512m" + JAVA_OPT_EXT: -Xms512m -Xmx512m ports: - - "${ROCKETMQ_NAMESRV_PORT_OVERRIDE:-9876}:9876" + - '${ROCKETMQ_NAMESRV_PORT_OVERRIDE:-9876}:9876' volumes: - namesrv_logs:/home/rocketmq/logs deploy: @@ -27,7 +27,7 @@ services: cpus: ${ROCKETMQ_NAMESRV_CPU_RESERVATION:-0.25} memory: ${ROCKETMQ_NAMESRV_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD-SHELL", "mqadmin clusterList -n localhost:9876 || exit 1"] + test: [CMD-SHELL, 'mqadmin clusterList -n localhost:9876 || exit 1'] interval: 30s timeout: 10s retries: 3 @@ -39,11 +39,11 @@ services: command: sh mqbroker -n namesrv:9876 -c /home/rocketmq/broker.conf environment: TZ: ${TZ:-UTC} - JAVA_OPT_EXT: "-Xms1g -Xmx1g" + JAVA_OPT_EXT: -Xms1g -Xmx1g ports: - - "${ROCKETMQ_BROKER_PORT_OVERRIDE:-10909}:10909" - - "${ROCKETMQ_BROKER_VIP_PORT_OVERRIDE:-10911}:10911" - - "${ROCKETMQ_BROKER_HA_PORT_OVERRIDE:-10912}:10912" + - '${ROCKETMQ_BROKER_PORT_OVERRIDE:-10909}:10909' + - '${ROCKETMQ_BROKER_VIP_PORT_OVERRIDE:-10911}:10911' + - '${ROCKETMQ_BROKER_HA_PORT_OVERRIDE:-10912}:10912' volumes: - broker_logs:/home/rocketmq/logs - broker_store:/home/rocketmq/store @@ -60,7 +60,7 @@ services: cpus: ${ROCKETMQ_BROKER_CPU_RESERVATION:-0.5} memory: ${ROCKETMQ_BROKER_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD-SHELL", "mqadmin clusterList -n namesrv:9876 | grep -q broker || exit 1"] + test: [CMD-SHELL, 'mqadmin clusterList -n namesrv:9876 | grep -q broker || exit 1'] interval: 30s timeout: 10s retries: 3 @@ -71,9 +71,9 @@ services: image: ${GLOBAL_REGISTRY:-}apacherocketmq/rocketmq-dashboard:${ROCKETMQ_DASHBOARD_VERSION:-2.0.0} environment: TZ: ${TZ:-UTC} - JAVA_OPTS: "-Xms256m -Xmx256m -Drocketmq.namesrv.addr=namesrv:9876" + JAVA_OPTS: '-Xms256m -Xmx256m -Drocketmq.namesrv.addr=namesrv:9876' ports: - - "${ROCKETMQ_DASHBOARD_PORT_OVERRIDE:-8080}:8080" + - '${ROCKETMQ_DASHBOARD_PORT_OVERRIDE:-8080}:8080' depends_on: namesrv: condition: service_healthy @@ -86,7 +86,7 @@ services: cpus: ${ROCKETMQ_DASHBOARD_CPU_RESERVATION:-0.25} memory: ${ROCKETMQ_DASHBOARD_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:8080 || exit 1"] + test: [CMD-SHELL, 'wget --no-verbose --tries=1 --spider http://localhost:8080 || exit 1'] interval: 30s timeout: 10s retries: 3 diff --git a/src/searxng/docker-compose.yaml b/src/searxng/docker-compose.yaml index 9eafa1b..f1c823c 100644 --- a/src/searxng/docker-compose.yaml +++ b/src/searxng/docker-compose.yaml @@ -5,7 +5,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: caddy: @@ -25,7 +25,7 @@ services: cap_add: - NET_BIND_SERVICE healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:2019/config/"] + test: [CMD, wget, --spider, -q, 'http://localhost:2019/config/'] interval: 30s timeout: 10s retries: 3 @@ -54,7 +54,7 @@ services: - SETUID - DAC_OVERRIDE healthcheck: - test: ["CMD", "valkey-cli", "ping"] + test: [CMD, valkey-cli, ping] interval: 30s timeout: 10s retries: 3 @@ -74,7 +74,7 @@ services: networks: - searxng ports: - - "${SEARXNG_PORT_OVERRIDE:-8080}:8080" + - '${SEARXNG_PORT_OVERRIDE:-8080}:8080' volumes: - ./searxng:/etc/searxng:rw environment: @@ -92,7 +92,7 @@ services: redis: condition: service_healthy healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:8080/healthz"] + test: [CMD, wget, --spider, -q, 'http://localhost:8080/healthz'] interval: 30s timeout: 10s retries: 3 diff --git a/src/selenium/README.md b/src/selenium/README.md index f9de030..ea84728 100644 --- a/src/selenium/README.md +++ b/src/selenium/README.md @@ -96,22 +96,23 @@ driver.quit() ### Basic WebDriver Test (Node.js) ```javascript -const { Builder } = require('selenium-webdriver'); +const { Builder } = require('selenium-webdriver') const chrome = require('selenium-webdriver/chrome'); (async function example() { - let driver = await new Builder() - .forBrowser('chrome') - .usingServer('http://localhost:4444') - .build(); - - try { - await driver.get('https://www.selenium.dev/'); - console.log(await driver.getTitle()); - } finally { - await driver.quit(); - } -})(); + const driver = await new Builder() + .forBrowser('chrome') + .usingServer('http://localhost:4444') + .build() + + try { + await driver.get('https://www.selenium.dev/') + console.log(await driver.getTitle()) + } + finally { + await driver.quit() + } +})() ``` ### Viewing Browser Sessions diff --git a/src/selenium/README.zh.md b/src/selenium/README.zh.md index 425d65e..77f6ccd 100644 --- a/src/selenium/README.zh.md +++ b/src/selenium/README.zh.md @@ -96,22 +96,23 @@ driver.quit() ### 基础 WebDriver 测试(Node.js) ```javascript -const { Builder } = require('selenium-webdriver'); +const { Builder } = require('selenium-webdriver') const chrome = require('selenium-webdriver/chrome'); (async function example() { - let driver = await new Builder() - .forBrowser('chrome') - .usingServer('http://localhost:4444') - .build(); - - try { - await driver.get('https://www.selenium.dev/'); - console.log(await driver.getTitle()); - } finally { - await driver.quit(); - } -})(); + const driver = await new Builder() + .forBrowser('chrome') + .usingServer('http://localhost:4444') + .build() + + try { + await driver.get('https://www.selenium.dev/') + console.log(await driver.getTitle()) + } + finally { + await driver.quit() + } +})() ``` ### 查看浏览器会话 diff --git a/src/selenium/docker-compose.yaml b/src/selenium/docker-compose.yaml index e6f9a92..3162255 100644 --- a/src/selenium/docker-compose.yaml +++ b/src/selenium/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: selenium-chrome: @@ -16,8 +16,8 @@ services: image: ${GLOBAL_REGISTRY:-}selenium/standalone-chrome:${SELENIUM_VERSION:-144.0-20260120} shm_size: ${SELENIUM_SHM_SIZE:-2g} ports: - - "${SELENIUM_GRID_PORT_OVERRIDE:-4444}:4444" - - "${SELENIUM_VNC_PORT_OVERRIDE:-7900}:7900" + - '${SELENIUM_GRID_PORT_OVERRIDE:-4444}:4444' + - '${SELENIUM_VNC_PORT_OVERRIDE:-7900}:7900' volumes: - selenium_downloads:/home/seluser/Downloads environment: @@ -32,7 +32,7 @@ services: - SE_START_XVFB=${SE_START_XVFB:-true} healthcheck: test: - ["CMD", "/opt/bin/check-grid.sh", "--host", "0.0.0.0", "--port", "4444"] + [CMD, /opt/bin/check-grid.sh, --host, 0.0.0.0, --port, '4444'] interval: 30s timeout: 10s retries: 3 diff --git a/src/signoz/README.md b/src/signoz/README.md index 193f4d1..26d2db1 100644 --- a/src/signoz/README.md +++ b/src/signoz/README.md @@ -79,12 +79,12 @@ To send telemetry data to SigNoz, configure your application to use OpenTelemetr Example for Node.js: ```javascript -const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node'); -const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-grpc'); +const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-grpc') +const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node') const exporter = new OTLPTraceExporter({ url: 'http://localhost:4317', -}); +}) ``` ## Architecture diff --git a/src/signoz/README.zh.md b/src/signoz/README.zh.md index 7231335..c1f7aa7 100644 --- a/src/signoz/README.zh.md +++ b/src/signoz/README.zh.md @@ -79,12 +79,12 @@ SigNoz 是一个开源的可观测性平台,为分布式应用程序提供监 Node.js 示例: ```javascript -const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node'); -const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-grpc'); +const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-grpc') +const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node') const exporter = new OTLPTraceExporter({ url: 'http://localhost:4317', -}); +}) ``` ## 架构说明 diff --git a/src/signoz/docker-compose.yaml b/src/signoz/docker-compose.yaml index b988d1a..d87e390 100644 --- a/src/signoz/docker-compose.yaml +++ b/src/signoz/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' x-clickhouse-defaults: &clickhouse-defaults restart: on-failure @@ -12,9 +12,9 @@ x-clickhouse-defaults: &clickhouse-defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' healthcheck: - test: ["CMD", "wget", "--spider", "-q", "localhost:8123/ping"] + test: [CMD, wget, --spider, -q, 'localhost:8123/ping'] interval: 30s timeout: 5s retries: 3 @@ -32,7 +32,7 @@ services: clickhouse: <<: *clickhouse-defaults image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${SIGNOZ_CLICKHOUSE_VERSION:-24.11.1-alpine} - user: "101:101" # ClickHouse user + user: '101:101' # ClickHouse user volumes: - clickhouse_data:/var/lib/clickhouse - ./clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro @@ -46,15 +46,15 @@ services: <<: *defaults image: ${GLOBAL_REGISTRY:-}signoz/signoz-otel-collector:${SIGNOZ_OTEL_COLLECTOR_VERSION:-0.102.8} command: - - "--config=/etc/otel-collector-config.yaml" + - --config=/etc/otel-collector-config.yaml volumes: - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml:ro environment: - TZ=${TZ:-UTC} - OTEL_RESOURCE_ATTRIBUTES=${SIGNOZ_OTEL_RESOURCE_ATTRIBUTES:-host.name=signoz-host} ports: - - "${SIGNOZ_OTEL_GRPC_PORT_OVERRIDE:-4317}:4317" # OTLP gRPC receiver - - "${SIGNOZ_OTEL_HTTP_PORT_OVERRIDE:-4318}:4318" # OTLP HTTP receiver + - '${SIGNOZ_OTEL_GRPC_PORT_OVERRIDE:-4317}:4317' # OTLP gRPC receiver + - '${SIGNOZ_OTEL_HTTP_PORT_OVERRIDE:-4318}:4318' # OTLP HTTP receiver depends_on: clickhouse: condition: service_healthy @@ -68,14 +68,13 @@ services: memory: ${SIGNOZ_OTEL_COLLECTOR_MEMORY_RESERVATION:-512M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:13133/", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:13133/' + interval: 30s timeout: 10s retries: 3 @@ -86,7 +85,7 @@ services: <<: *defaults image: ${GLOBAL_REGISTRY:-}signoz/query-service:${SIGNOZ_QUERY_SERVICE_VERSION:-0.55.0} command: - - "-config=/root/config/prometheus.yml" + - -config=/root/config/prometheus.yml volumes: - ./query-service/prometheus.yml:/root/config/prometheus.yml:ro - signoz_data:/var/lib/signoz @@ -110,14 +109,13 @@ services: memory: ${SIGNOZ_QUERY_SERVICE_MEMORY_RESERVATION:-256M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:8080/api/v1/health", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:8080/api/v1/health' + interval: 30s timeout: 10s retries: 3 @@ -128,7 +126,7 @@ services: <<: *defaults image: ${GLOBAL_REGISTRY:-}signoz/frontend:${SIGNOZ_FRONTEND_VERSION:-0.55.0} ports: - - "${SIGNOZ_PORT_OVERRIDE:-3301}:3301" + - '${SIGNOZ_PORT_OVERRIDE:-3301}:3301' volumes: - ./frontend/nginx-config.conf:/etc/nginx/conf.d/default.conf:ro environment: @@ -146,14 +144,13 @@ services: memory: ${SIGNOZ_FRONTEND_MEMORY_RESERVATION:-128M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:3301/api/v1/health", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:3301/api/v1/health' + interval: 30s timeout: 10s retries: 3 @@ -183,14 +180,13 @@ services: memory: ${SIGNOZ_ALERTMANAGER_MEMORY_RESERVATION:-128M} healthcheck: test: - [ - "CMD", - "wget", - "--no-verbose", - "--tries=1", - "--spider", - "http://localhost:9093/-/healthy", - ] + - CMD + - wget + - --no-verbose + - --tries=1 + - --spider + - 'http://localhost:9093/-/healthy' + interval: 30s timeout: 10s retries: 3 diff --git a/src/tempo/docker-compose.yaml b/src/tempo/docker-compose.yaml index ece854a..d409c15 100644 --- a/src/tempo/docker-compose.yaml +++ b/src/tempo/docker-compose.yaml @@ -4,27 +4,27 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: tempo: <<: *defaults image: ${GLOBAL_REGISTRY:-}grafana/tempo:${TEMPO_VERSION:-2.7.2} ports: - - "${TEMPO_HTTP_PORT_OVERRIDE:-3200}:3200" # HTTP - - "${TEMPO_GRPC_PORT_OVERRIDE:-9095}:9095" # gRPC - - "${TEMPO_OTLP_HTTP_PORT_OVERRIDE:-4318}:4318" # OTLP HTTP - - "${TEMPO_OTLP_GRPC_PORT_OVERRIDE:-4317}:4317" # OTLP gRPC - - "${TEMPO_ZIPKIN_PORT_OVERRIDE:-9411}:9411" # Zipkin - - "${TEMPO_JAEGER_THRIFT_HTTP_PORT_OVERRIDE:-14268}:14268" # Jaeger Thrift HTTP - - "${TEMPO_JAEGER_GRPC_PORT_OVERRIDE:-14250}:14250" # Jaeger gRPC + - '${TEMPO_HTTP_PORT_OVERRIDE:-3200}:3200' # HTTP + - '${TEMPO_GRPC_PORT_OVERRIDE:-9095}:9095' # gRPC + - '${TEMPO_OTLP_HTTP_PORT_OVERRIDE:-4318}:4318' # OTLP HTTP + - '${TEMPO_OTLP_GRPC_PORT_OVERRIDE:-4317}:4317' # OTLP gRPC + - '${TEMPO_ZIPKIN_PORT_OVERRIDE:-9411}:9411' # Zipkin + - '${TEMPO_JAEGER_THRIFT_HTTP_PORT_OVERRIDE:-14268}:14268' # Jaeger Thrift HTTP + - '${TEMPO_JAEGER_GRPC_PORT_OVERRIDE:-14250}:14250' # Jaeger gRPC volumes: - tempo_data:/tmp/tempo - ./tempo-config.yaml:/etc/tempo/tempo.yaml:ro environment: - TZ=${TZ:-UTC} command: -config.file=/etc/tempo/tempo.yaml - user: "10001:10001" # Tempo user + user: '10001:10001' # Tempo user deploy: resources: limits: @@ -34,7 +34,7 @@ services: cpus: ${TEMPO_CPU_RESERVATION:-0.25} memory: ${TEMPO_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3200/ready"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:3200/ready'] interval: 30s timeout: 10s retries: 3 diff --git a/src/temporal/README.md b/src/temporal/README.md index 07a67c4..0f2cb8c 100644 --- a/src/temporal/README.md +++ b/src/temporal/README.md @@ -131,14 +131,14 @@ from temporalio.worker import Worker async def main(): client = await Client.connect("localhost:7233") - + worker = Worker( client, task_queue="hello-queue", workflows=[HelloWorkflow], activities=[say_hello], ) - + await worker.run() ``` @@ -149,14 +149,14 @@ from temporalio.client import Client async def main(): client = await Client.connect("localhost:7233") - + result = await client.execute_workflow( HelloWorkflow.run, "World", id="hello-workflow", task_queue="hello-queue", ) - + print(result) ``` diff --git a/src/temporal/README.zh.md b/src/temporal/README.zh.md index 534da30..6b2f8f9 100644 --- a/src/temporal/README.zh.md +++ b/src/temporal/README.zh.md @@ -131,14 +131,14 @@ from temporalio.worker import Worker async def main(): client = await Client.connect("localhost:7233") - + worker = Worker( client, task_queue="hello-queue", workflows=[HelloWorkflow], activities=[say_hello], ) - + await worker.run() ``` @@ -149,14 +149,14 @@ from temporalio.client import Client async def main(): client = await Client.connect("localhost:7233") - + result = await client.execute_workflow( HelloWorkflow.run, "World", id="hello-workflow", task_queue="hello-queue", ) - + print(result) ``` diff --git a/src/temporal/docker-compose.yaml b/src/temporal/docker-compose.yaml index 4f64071..540e0bf 100644 --- a/src/temporal/docker-compose.yaml +++ b/src/temporal/docker-compose.yaml @@ -32,7 +32,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: temporal: @@ -40,7 +40,7 @@ services: image: ${GLOBAL_REGISTRY:-}temporalio/auto-setup:${TEMPORAL_VERSION:-1.24.2} container_name: temporal ports: - - "${TEMPORAL_FRONTEND_PORT_OVERRIDE:-7233}:7233" # Frontend gRPC + - '${TEMPORAL_FRONTEND_PORT_OVERRIDE:-7233}:7233' # Frontend gRPC environment: # Database configuration - DB=postgresql @@ -69,7 +69,7 @@ services: postgres: condition: service_healthy healthcheck: - test: ["CMD", "tctl", "--address", "temporal:7233", "cluster", "health"] + test: [CMD, tctl, --address, 'temporal:7233', cluster, health] interval: 30s timeout: 10s retries: 5 @@ -77,18 +77,18 @@ services: deploy: resources: limits: - cpus: "${TEMPORAL_CPU_LIMIT:-2.0}" - memory: "${TEMPORAL_MEMORY_LIMIT:-2G}" + cpus: '${TEMPORAL_CPU_LIMIT:-2.0}' + memory: '${TEMPORAL_MEMORY_LIMIT:-2G}' reservations: - cpus: "${TEMPORAL_CPU_RESERVATION:-0.5}" - memory: "${TEMPORAL_MEMORY_RESERVATION:-512M}" + cpus: '${TEMPORAL_CPU_RESERVATION:-0.5}' + memory: '${TEMPORAL_MEMORY_RESERVATION:-512M}' temporal-ui: <<: *defaults image: ${GLOBAL_REGISTRY:-}temporalio/ui:${TEMPORAL_UI_VERSION:-2.28.0} container_name: temporal-ui ports: - - "${TEMPORAL_UI_PORT_OVERRIDE:-8233}:8080" + - '${TEMPORAL_UI_PORT_OVERRIDE:-8233}:8080' environment: - TEMPORAL_ADDRESS=temporal:7233 - TEMPORAL_CORS_ORIGINS=http://localhost:8233 @@ -98,7 +98,7 @@ services: temporal: condition: service_healthy healthcheck: - test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8080"] + test: [CMD, wget, --quiet, --tries=1, --spider, 'http://localhost:8080'] interval: 30s timeout: 10s retries: 3 @@ -106,11 +106,11 @@ services: deploy: resources: limits: - cpus: "${TEMPORAL_UI_CPU_LIMIT:-0.5}" - memory: "${TEMPORAL_UI_MEMORY_LIMIT:-512M}" + cpus: '${TEMPORAL_UI_CPU_LIMIT:-0.5}' + memory: '${TEMPORAL_UI_MEMORY_LIMIT:-512M}' reservations: - cpus: "${TEMPORAL_UI_CPU_RESERVATION:-0.1}" - memory: "${TEMPORAL_UI_MEMORY_RESERVATION:-128M}" + cpus: '${TEMPORAL_UI_CPU_RESERVATION:-0.1}' + memory: '${TEMPORAL_UI_MEMORY_RESERVATION:-128M}' temporal-admin-tools: <<: *defaults @@ -149,18 +149,18 @@ services: volumes: - postgres_data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-temporal} -d ${POSTGRES_DB:-temporal}"] + test: [CMD-SHELL, 'pg_isready -U ${POSTGRES_USER:-temporal} -d ${POSTGRES_DB:-temporal}'] interval: 10s timeout: 5s retries: 5 deploy: resources: limits: - cpus: "${POSTGRES_CPU_LIMIT:-1.0}" - memory: "${POSTGRES_MEMORY_LIMIT:-1G}" + cpus: '${POSTGRES_CPU_LIMIT:-1.0}' + memory: '${POSTGRES_MEMORY_LIMIT:-1G}' reservations: - cpus: "${POSTGRES_CPU_RESERVATION:-0.25}" - memory: "${POSTGRES_MEMORY_RESERVATION:-256M}" + cpus: '${POSTGRES_CPU_RESERVATION:-0.25}' + memory: '${POSTGRES_MEMORY_RESERVATION:-256M}' volumes: postgres_data: diff --git a/src/tidb/docker-compose.yaml b/src/tidb/docker-compose.yaml index 83a1bc7..ae579a0 100644 --- a/src/tidb/docker-compose.yaml +++ b/src/tidb/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: pd: @@ -22,7 +22,7 @@ services: volumes: - pd_data:/data ports: - - "${TIDB_PD_PORT_OVERRIDE:-2379}:2379" + - '${TIDB_PD_PORT_OVERRIDE:-2379}:2379' deploy: resources: limits: @@ -32,7 +32,7 @@ services: cpus: ${TIDB_PD_CPU_RESERVATION:-0.25} memory: ${TIDB_PD_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD-SHELL", "wget -q -O - http://localhost:2379/health || exit 1"] + test: [CMD-SHELL, 'wget -q -O - http://localhost:2379/health || exit 1'] interval: 30s timeout: 10s retries: 3 @@ -51,7 +51,7 @@ services: volumes: - tikv_data:/data ports: - - "${TIDB_TIKV_PORT_OVERRIDE:-20160}:20160" + - '${TIDB_TIKV_PORT_OVERRIDE:-20160}:20160' depends_on: pd: condition: service_healthy @@ -64,7 +64,7 @@ services: cpus: ${TIDB_TIKV_CPU_RESERVATION:-0.5} memory: ${TIDB_TIKV_MEMORY_RESERVATION:-1G} healthcheck: - test: ["CMD-SHELL", "wget -q -O - http://localhost:20180/status || exit 1"] + test: [CMD-SHELL, 'wget -q -O - http://localhost:20180/status || exit 1'] interval: 30s timeout: 10s retries: 5 @@ -80,8 +80,8 @@ services: environment: TZ: ${TZ:-UTC} ports: - - "${TIDB_PORT_OVERRIDE:-4000}:4000" - - "${TIDB_STATUS_PORT_OVERRIDE:-10080}:10080" + - '${TIDB_PORT_OVERRIDE:-4000}:4000' + - '${TIDB_STATUS_PORT_OVERRIDE:-10080}:10080' depends_on: tikv: condition: service_healthy @@ -94,7 +94,7 @@ services: cpus: ${TIDB_CPU_RESERVATION:-0.5} memory: ${TIDB_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD-SHELL", "wget -q -O - http://localhost:10080/status || exit 1"] + test: [CMD-SHELL, 'wget -q -O - http://localhost:10080/status || exit 1'] interval: 30s timeout: 10s retries: 3 diff --git a/src/tikv/README.md b/src/tikv/README.md index 5add8b3..98a4d9e 100644 --- a/src/tikv/README.md +++ b/src/tikv/README.md @@ -43,10 +43,10 @@ async fn main() { let client = RawClient::new(vec!["127.0.0.1:2379"], None) .await .unwrap(); - + // Put a key-value pair client.put("key".to_owned(), "value".to_owned()).await.unwrap(); - + // Get the value let value = client.get("key".to_owned()).await.unwrap(); println!("Value: {:?}", value); diff --git a/src/tikv/README.zh.md b/src/tikv/README.zh.md index 3d5b8e6..bda6271 100644 --- a/src/tikv/README.zh.md +++ b/src/tikv/README.zh.md @@ -43,10 +43,10 @@ async fn main() { let client = RawClient::new(vec!["127.0.0.1:2379"], None) .await .unwrap(); - + // 存储键值对 client.put("key".to_owned(), "value".to_owned()).await.unwrap(); - + // 获取值 let value = client.get("key".to_owned()).await.unwrap(); println!("Value: {:?}", value); diff --git a/src/tikv/docker-compose.yaml b/src/tikv/docker-compose.yaml index ccf4823..5b7f2b6 100644 --- a/src/tikv/docker-compose.yaml +++ b/src/tikv/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: pd: @@ -22,8 +22,8 @@ services: volumes: - pd_data:/data ports: - - "${TIKV_PD_PORT_OVERRIDE:-2379}:2379" - - "${TIKV_PD_PEER_PORT_OVERRIDE:-2380}:2380" + - '${TIKV_PD_PORT_OVERRIDE:-2379}:2379' + - '${TIKV_PD_PEER_PORT_OVERRIDE:-2380}:2380' deploy: resources: limits: @@ -33,7 +33,7 @@ services: cpus: ${TIKV_PD_CPU_RESERVATION:-0.25} memory: ${TIKV_PD_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD-SHELL", "wget -q -O - http://localhost:2379/health || exit 1"] + test: [CMD-SHELL, 'wget -q -O - http://localhost:2379/health || exit 1'] interval: 30s timeout: 10s retries: 3 @@ -55,8 +55,8 @@ services: - tikv_data:/data - tikv_logs:/logs ports: - - "${TIKV_PORT_OVERRIDE:-20160}:20160" - - "${TIKV_STATUS_PORT_OVERRIDE:-20180}:20180" + - '${TIKV_PORT_OVERRIDE:-20160}:20160' + - '${TIKV_STATUS_PORT_OVERRIDE:-20180}:20180' depends_on: pd: condition: service_healthy @@ -69,7 +69,7 @@ services: cpus: ${TIKV_CPU_RESERVATION:-0.5} memory: ${TIKV_MEMORY_RESERVATION:-2G} healthcheck: - test: ["CMD-SHELL", "wget -q -O - http://localhost:20180/status || exit 1"] + test: [CMD-SHELL, 'wget -q -O - http://localhost:20180/status || exit 1'] interval: 30s timeout: 10s retries: 5 diff --git a/src/trailbase/docker-compose.yaml b/src/trailbase/docker-compose.yaml index a1638ee..7788353 100644 --- a/src/trailbase/docker-compose.yaml +++ b/src/trailbase/docker-compose.yaml @@ -12,21 +12,21 @@ x-defaults: &defaults driver: json-file options: max-size: ${TRAILBASE_LOG_MAX_SIZE:-100m} - max-file: "${TRAILBASE_LOG_MAX_FILE:-3}" + max-file: '${TRAILBASE_LOG_MAX_FILE:-3}' services: trailbase: <<: *defaults image: ${GLOBAL_REGISTRY:-}trailbase/trailbase:${TRAILBASE_VERSION:-0.22.4} ports: - - "${TRAILBASE_PORT_OVERRIDE:-4000}:4000" + - '${TRAILBASE_PORT_OVERRIDE:-4000}:4000' environment: - TZ=${TZ:-UTC} - RUST_BACKTRACE=${TRAILBASE_RUST_BACKTRACE:-1} volumes: - trailbase_data:/app/traildepot healthcheck: - test: ["CMD", "curl", "--fail", "--silent", "--show-error", "http://localhost:4000/api/healthcheck"] + test: [CMD, curl, --fail, --silent, --show-error, 'http://localhost:4000/api/healthcheck'] interval: 30s timeout: 10s retries: 5 diff --git a/src/trigger-dev/docker-compose.yaml b/src/trigger-dev/docker-compose.yaml index 77c536f..f243b97 100644 --- a/src/trigger-dev/docker-compose.yaml +++ b/src/trigger-dev/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: # ============================================================================= @@ -19,7 +19,7 @@ services: <<: *defaults image: ${GHCR_IO_REGISTRY:-ghcr.io}/triggerdotdev/trigger.dev:${TRIGGER_IMAGE_TAG:-v4.2.0} ports: - - "${TRIGGER_PORT:-8030}:3030" + - '${TRIGGER_PORT:-8030}:3030' environment: - TZ=${TZ:-UTC} # Secrets (required) @@ -89,7 +89,7 @@ services: electric: condition: service_healthy healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3030/healthcheck"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:3030/healthcheck'] interval: 30s timeout: 10s retries: 5 @@ -122,7 +122,7 @@ services: volumes: - trigger_postgres_data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-trigger} -d ${POSTGRES_DB:-trigger}"] + test: [CMD-SHELL, 'pg_isready -U ${POSTGRES_USER:-trigger} -d ${POSTGRES_DB:-trigger}'] interval: 10s timeout: 5s retries: 5 @@ -143,7 +143,7 @@ services: volumes: - trigger_redis_data:/data healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: [CMD, redis-cli, ping] interval: 10s timeout: 5s retries: 5 @@ -170,7 +170,7 @@ services: - trigger_clickhouse_data:/var/lib/clickhouse - trigger_clickhouse_logs:/var/log/clickhouse-server healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "-O-", "http://localhost:8123/ping"] + test: [CMD, wget, --no-verbose, --tries=1, -O-, 'http://localhost:8123/ping'] interval: 10s timeout: 5s retries: 5 @@ -189,8 +189,8 @@ services: image: ${GLOBAL_REGISTRY:-}minio/minio:${MINIO_VERSION:-RELEASE.2025-04-22T22-12-26Z} command: server /data --console-address ":9001" ports: - - "${MINIO_API_PORT:-9000}:9000" - - "${MINIO_CONSOLE_PORT:-9001}:9001" + - '${MINIO_API_PORT:-9000}:9000' + - '${MINIO_CONSOLE_PORT:-9001}:9001' environment: - TZ=${TZ:-UTC} - MINIO_ROOT_USER=${MINIO_ROOT_USER:-admin} @@ -198,7 +198,7 @@ services: volumes: - trigger_minio_data:/data healthcheck: - test: ["CMD", "mc", "ready", "local"] + test: [CMD, mc, ready, local] interval: 10s timeout: 5s retries: 5 @@ -227,7 +227,7 @@ services: depends_on: trigger-minio: condition: service_healthy - restart: "no" + restart: no electric: <<: *defaults @@ -239,7 +239,7 @@ services: trigger-postgres: condition: service_healthy healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:3000/v1/health"] + test: [CMD, curl, -f, 'http://localhost:3000/v1/health'] interval: 10s timeout: 5s retries: 5 @@ -272,13 +272,13 @@ services: - REGISTRY_PASSWORD=${REGISTRY_PASSWORD:-very-secure-indeed} volumes: - trigger_registry_auth:/auth - restart: "no" + restart: no trigger-registry: <<: *defaults image: ${GLOBAL_REGISTRY:-}registry:${REGISTRY_IMAGE_VERSION:-3} ports: - - "${REGISTRY_PORT:-5000}:5000" + - '${REGISTRY_PORT:-5000}:5000' environment: - TZ=${TZ:-UTC} - REGISTRY_AUTH=htpasswd @@ -292,7 +292,7 @@ services: trigger-registry-init: condition: service_completed_successfully healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5000/v2/"] + test: [CMD, wget, --no-verbose, --tries=1, --spider, 'http://localhost:5000/v2/'] interval: 30s timeout: 10s retries: 3 diff --git a/src/valkey-cluster/docker-compose.yaml b/src/valkey-cluster/docker-compose.yaml index 2866ac6..96987b1 100644 --- a/src/valkey-cluster/docker-compose.yaml +++ b/src/valkey-cluster/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' x-valkey-node: &valkey-node <<: *defaults @@ -14,13 +14,13 @@ x-valkey-node: &valkey-node command: - valkey-server - --cluster-enabled - - "yes" + - yes - --cluster-config-file - nodes.conf - --cluster-node-timeout - - "5000" + - '5000' - --appendonly - - "yes" + - yes - --requirepass - ${VALKEY_PASSWORD:-passw0rd} - --masterauth @@ -34,7 +34,7 @@ x-valkey-node: &valkey-node cpus: ${VALKEY_CLUSTER_CPU_RESERVATION:-0.25} memory: ${VALKEY_CLUSTER_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "valkey-cli", "-a", "${VALKEY_PASSWORD:-passw0rd}", "ping"] + test: [CMD, valkey-cli, -a, '${VALKEY_PASSWORD:-passw0rd}', ping] interval: 10s timeout: 3s retries: 3 @@ -44,48 +44,48 @@ services: valkey-node-1: <<: *valkey-node ports: - - "${VALKEY_PORT_1:-7001}:6379" - - "${VALKEY_BUS_PORT_1:-17001}:16379" + - '${VALKEY_PORT_1:-7001}:6379' + - '${VALKEY_BUS_PORT_1:-17001}:16379' volumes: - valkey_data_1:/data valkey-node-2: <<: *valkey-node ports: - - "${VALKEY_PORT_2:-7002}:6379" - - "${VALKEY_BUS_PORT_2:-17002}:16379" + - '${VALKEY_PORT_2:-7002}:6379' + - '${VALKEY_BUS_PORT_2:-17002}:16379' volumes: - valkey_data_2:/data valkey-node-3: <<: *valkey-node ports: - - "${VALKEY_PORT_3:-7003}:6379" - - "${VALKEY_BUS_PORT_3:-17003}:16379" + - '${VALKEY_PORT_3:-7003}:6379' + - '${VALKEY_BUS_PORT_3:-17003}:16379' volumes: - valkey_data_3:/data valkey-node-4: <<: *valkey-node ports: - - "${VALKEY_PORT_4:-7004}:6379" - - "${VALKEY_BUS_PORT_4:-17004}:16379" + - '${VALKEY_PORT_4:-7004}:6379' + - '${VALKEY_BUS_PORT_4:-17004}:16379' volumes: - valkey_data_4:/data valkey-node-5: <<: *valkey-node ports: - - "${VALKEY_PORT_5:-7005}:6379" - - "${VALKEY_BUS_PORT_5:-17005}:16379" + - '${VALKEY_PORT_5:-7005}:6379' + - '${VALKEY_BUS_PORT_5:-17005}:16379' volumes: - valkey_data_5:/data valkey-node-6: <<: *valkey-node ports: - - "${VALKEY_PORT_6:-7006}:6379" - - "${VALKEY_BUS_PORT_6:-17006}:16379" + - '${VALKEY_PORT_6:-7006}:6379' + - '${VALKEY_BUS_PORT_6:-17006}:16379' volumes: - valkey_data_6:/data @@ -121,7 +121,7 @@ services: valkey-node-6:6379 \ --cluster-replicas 1 \ --cluster-yes - restart: "no" + restart: no deploy: resources: limits: diff --git a/src/valkey/docker-compose.yaml b/src/valkey/docker-compose.yaml index 3349f17..5dea06a 100644 --- a/src/valkey/docker-compose.yaml +++ b/src/valkey/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: valkey: <<: *defaults image: ${GLOBAL_REGISTRY:-}valkey/valkey:${VALKEY_VERSION:-8.0-alpine} ports: - - "${VALKEY_PORT_OVERRIDE:-6379}:6379" + - '${VALKEY_PORT_OVERRIDE:-6379}:6379' volumes: - valkey_data:/data # Use a custom valkey.conf file @@ -36,7 +36,7 @@ services: cpus: ${VALKEY_CPU_RESERVATION:-0.25} memory: ${VALKEY_MEMORY_RESERVATION:-256M} healthcheck: - test: ["CMD", "valkey-cli", "ping"] + test: [CMD, valkey-cli, ping] interval: 10s timeout: 3s retries: 3 diff --git a/src/verdaccio/docker-compose.yaml b/src/verdaccio/docker-compose.yaml index b36d23a..41d7bdd 100644 --- a/src/verdaccio/docker-compose.yaml +++ b/src/verdaccio/docker-compose.yaml @@ -4,7 +4,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: verdaccio: @@ -16,13 +16,13 @@ services: - VERDACCIO_PORT=${VERDACCIO_PORT:-4873} - TZ=${TZ:-UTC} ports: - - "${VERDACCIO_PORT_OVERRIDE:-4873}:4873" + - '${VERDACCIO_PORT_OVERRIDE:-4873}:4873' volumes: - ./storage:/verdaccio/storage - ./config:/verdaccio/conf - ./plugins:/verdaccio/plugins healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://localhost:4873/-/ping"] + test: [CMD, wget, --spider, -q, 'http://localhost:4873/-/ping'] interval: 30s timeout: 10s retries: 3 diff --git a/src/vllm/README.md b/src/vllm/README.md index 4f47458..f98c805 100644 --- a/src/vllm/README.md +++ b/src/vllm/README.md @@ -30,14 +30,14 @@ Please modify the `.env` file as needed for your use case. This service requires NVIDIA GPU to run properly. Uncomment the GPU configuration in `docker-compose.yaml`: ```yaml - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: 1 - capabilities: [gpu] - runtime: nvidia +deploy: + resources: + reservations: + devices: + - driver: nvidia + count: 1 + capabilities: [gpu] +runtime: nvidia ``` ## Usage @@ -117,7 +117,7 @@ VLLM_MAX_MODEL_LEN=4096 # Support up to 4K tokens For larger models, increase shared memory: ```yaml -shm_size: 8g # Increase to 8GB +shm_size: 8g # Increase to 8GB ``` ## Notes diff --git a/src/vllm/README.zh.md b/src/vllm/README.zh.md index 24123c5..5dea608 100644 --- a/src/vllm/README.zh.md +++ b/src/vllm/README.zh.md @@ -30,14 +30,14 @@ 此服务需要 NVIDIA GPU 才能正常运行。在 `docker-compose.yaml` 中取消注释 GPU 配置: ```yaml - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: 1 - capabilities: [gpu] - runtime: nvidia +deploy: + resources: + reservations: + devices: + - driver: nvidia + count: 1 + capabilities: [gpu] +runtime: nvidia ``` ## 使用方法 @@ -117,7 +117,7 @@ VLLM_MAX_MODEL_LEN=4096 # 支持最多 4K tokens 对于更大的模型,增加共享内存: ```yaml -shm_size: 8g # 增加到 8GB +shm_size: 8g # 增加到 8GB ``` ## 注意事项 diff --git a/src/vllm/docker-compose.yaml b/src/vllm/docker-compose.yaml index 24bafdf..a72912d 100644 --- a/src/vllm/docker-compose.yaml +++ b/src/vllm/docker-compose.yaml @@ -4,14 +4,14 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: vllm: <<: *defaults image: ${GLOBAL_REGISTRY:-}vllm/vllm-openai:${VLLM_VERSION:-v0.13.0} ports: - - "${VLLM_PORT_OVERRIDE:-8000}:8000" + - '${VLLM_PORT_OVERRIDE:-8000}:8000' volumes: - vllm_models:/root/.cache/huggingface environment: @@ -21,13 +21,13 @@ services: - --model - ${VLLM_MODEL:-facebook/opt-125m} - --host - - "0.0.0.0" + - 0.0.0.0 - --port - - "8000" + - '8000' - --max-model-len - - "${VLLM_MAX_MODEL_LEN:-2048}" + - '${VLLM_MAX_MODEL_LEN:-2048}' - --gpu-memory-utilization - - "${VLLM_GPU_MEMORY_UTIL:-0.9}" + - '${VLLM_GPU_MEMORY_UTIL:-0.9}' deploy: resources: limits: @@ -42,7 +42,7 @@ services: capabilities: [gpu] shm_size: 4g healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8000/health"] + test: [CMD, curl, -f, 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 diff --git a/src/windmill/docker-compose.yaml b/src/windmill/docker-compose.yaml index e732a74..bfa0137 100644 --- a/src/windmill/docker-compose.yaml +++ b/src/windmill/docker-compose.yaml @@ -32,7 +32,7 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: windmill-server: @@ -40,7 +40,7 @@ services: image: ${GHCR_IO_REGISTRY:-ghcr.io}/windmill-labs/windmill:${WINDMILL_VERSION:-main} container_name: windmill-server ports: - - "${WINDMILL_PORT_OVERRIDE:-8000}:8000" + - '${WINDMILL_PORT_OVERRIDE:-8000}:8000' environment: # Database configuration - DATABASE_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}?sslmode=disable @@ -66,7 +66,7 @@ services: postgres: condition: service_healthy healthcheck: - test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8000/api/version"] + test: [CMD, wget, --quiet, --tries=1, --spider, 'http://localhost:8000/api/version'] interval: 30s timeout: 10s retries: 5 @@ -74,11 +74,11 @@ services: deploy: resources: limits: - cpus: "${WINDMILL_SERVER_CPU_LIMIT:-1.0}" - memory: "${WINDMILL_SERVER_MEMORY_LIMIT:-1G}" + cpus: '${WINDMILL_SERVER_CPU_LIMIT:-1.0}' + memory: '${WINDMILL_SERVER_MEMORY_LIMIT:-1G}' reservations: - cpus: "${WINDMILL_SERVER_CPU_RESERVATION:-0.25}" - memory: "${WINDMILL_SERVER_MEMORY_RESERVATION:-256M}" + cpus: '${WINDMILL_SERVER_CPU_RESERVATION:-0.25}' + memory: '${WINDMILL_SERVER_MEMORY_RESERVATION:-256M}' windmill-worker: <<: *defaults @@ -99,7 +99,7 @@ services: volumes: - windmill_worker_data:/tmp/windmill - - /var/run/docker.sock:/var/run/docker.sock:ro # For Docker execution + - /var/run/docker.sock:/var/run/docker.sock:ro # For Docker execution depends_on: postgres: condition: service_healthy @@ -108,11 +108,11 @@ services: deploy: resources: limits: - cpus: "${WINDMILL_WORKER_CPU_LIMIT:-2.0}" - memory: "${WINDMILL_WORKER_MEMORY_LIMIT:-2G}" + cpus: '${WINDMILL_WORKER_CPU_LIMIT:-2.0}' + memory: '${WINDMILL_WORKER_MEMORY_LIMIT:-2G}' reservations: - cpus: "${WINDMILL_WORKER_CPU_RESERVATION:-0.5}" - memory: "${WINDMILL_WORKER_MEMORY_RESERVATION:-512M}" + cpus: '${WINDMILL_WORKER_CPU_RESERVATION:-0.5}' + memory: '${WINDMILL_WORKER_MEMORY_RESERVATION:-512M}' postgres: <<: *defaults @@ -127,18 +127,18 @@ services: volumes: - postgres_data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-windmill} -d ${POSTGRES_DB:-windmill}"] + test: [CMD-SHELL, 'pg_isready -U ${POSTGRES_USER:-windmill} -d ${POSTGRES_DB:-windmill}'] interval: 10s timeout: 5s retries: 5 deploy: resources: limits: - cpus: "${POSTGRES_CPU_LIMIT:-1.0}" - memory: "${POSTGRES_MEMORY_LIMIT:-1G}" + cpus: '${POSTGRES_CPU_LIMIT:-1.0}' + memory: '${POSTGRES_MEMORY_LIMIT:-1G}' reservations: - cpus: "${POSTGRES_CPU_RESERVATION:-0.25}" - memory: "${POSTGRES_MEMORY_RESERVATION:-256M}" + cpus: '${POSTGRES_CPU_RESERVATION:-0.25}' + memory: '${POSTGRES_MEMORY_RESERVATION:-256M}' # Optional: LSP service for code intelligence windmill-lsp: @@ -148,7 +148,7 @@ services: profiles: - dev ports: - - "${WINDMILL_LSP_PORT:-3001}:3001" + - '${WINDMILL_LSP_PORT:-3001}:3001' deploy: resources: reservations: diff --git a/src/zookeeper/docker-compose.yaml b/src/zookeeper/docker-compose.yaml index 9f169d7..b140375 100644 --- a/src/zookeeper/docker-compose.yaml +++ b/src/zookeeper/docker-compose.yaml @@ -4,15 +4,15 @@ x-defaults: &defaults driver: json-file options: max-size: 100m - max-file: "3" + max-file: '3' services: zookeeper: <<: *defaults image: ${GLOBAL_REGISTRY:-}zookeeper:${ZOOKEEPER_VERSION:-3.9.3} ports: - - "${ZOOKEEPER_CLIENT_PORT_OVERRIDE:-2181}:2181" - - "${ZOOKEEPER_ADMIN_PORT_OVERRIDE:-8080}:8080" + - '${ZOOKEEPER_CLIENT_PORT_OVERRIDE:-2181}:2181' + - '${ZOOKEEPER_ADMIN_PORT_OVERRIDE:-8080}:8080' volumes: - zookeeper_data:/data - zookeeper_datalog:/datalog @@ -35,7 +35,7 @@ services: cpus: ${ZOOKEEPER_CPU_RESERVATION:-0.25} memory: ${ZOOKEEPER_MEMORY_RESERVATION:-512M} healthcheck: - test: ["CMD-SHELL", "echo ruok | nc localhost 2181 | grep imok"] + test: [CMD-SHELL, 'echo ruok | nc localhost 2181 | grep imok'] interval: 30s timeout: 10s retries: 3