style: lint code
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:** <https://github.com/HKUDS/DeepTutor>
|
||||
**License:** Apache-2.0
|
||||
**Project:** <https://github.com/HKUDS/DeepTutor>
|
||||
**License:** Apache-2.0
|
||||
**Documentation:** <https://hkuds.github.io/DeepTutor/>
|
||||
|
||||
## Features
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
|
||||
DeepTutor 是一个 AI 驱动的个性化学习助手,通过多智能体系统将任何文档转化为交互式学习体验。它可以帮助您解决问题、生成题目、进行研究、协作写作、整理笔记,并引导您完成学习路径。
|
||||
|
||||
**项目地址:** <https://github.com/HKUDS/DeepTutor>
|
||||
**许可证:** Apache-2.0
|
||||
**项目地址:** <https://github.com/HKUDS/DeepTutor>
|
||||
**许可证:** Apache-2.0
|
||||
**文档:** <https://hkuds.github.io/DeepTutor/>
|
||||
|
||||
## 功能特性
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
```yaml
|
||||
volumes:
|
||||
- easy_dataset_db:/app/local-db
|
||||
- easy_dataset_prisma:/app/prisma # 取消此行注释
|
||||
- easy_dataset_prisma:/app/prisma # 取消此行注释
|
||||
```
|
||||
|
||||
3. 启动服务:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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=<generated-key>
|
||||
```
|
||||
|
||||
@@ -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=<生成的密钥>
|
||||
```
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))"
|
||||
```
|
||||
|
||||
@@ -26,7 +26,7 @@ OpenClaw 是一个运行在你自己设备上的个人 AI 助手。它集成了
|
||||
```bash
|
||||
# 使用 OpenSSL
|
||||
openssl rand -hex 32
|
||||
|
||||
|
||||
# 或使用 Python
|
||||
python3 -c "import secrets; print(secrets.token_hex(32))"
|
||||
```
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -70,7 +70,7 @@ npm install openlit
|
||||
```typescript
|
||||
import Openlit from 'openlit';
|
||||
|
||||
Openlit.init({
|
||||
Openlit.init({
|
||||
otlpEndpoint: 'http://localhost:4318'
|
||||
});
|
||||
```
|
||||
|
||||
@@ -70,7 +70,7 @@ npm install openlit
|
||||
```typescript
|
||||
import Openlit from 'openlit';
|
||||
|
||||
Openlit.init({
|
||||
Openlit.init({
|
||||
otlpEndpoint: 'http://localhost:4318'
|
||||
});
|
||||
```
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user