mirror of
https://github.com/langgenius/dify.git
synced 2026-09-05 00:31:19 +08:00
102 lines
4.0 KiB
YAML
102 lines
4.0 KiB
YAML
name: knowledge-fs
|
|
|
|
services:
|
|
postgres:
|
|
image: pgvector/pgvector:pg16
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB:-knowledge_fs}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-knowledge_fs}
|
|
POSTGRES_USER: ${POSTGRES_USER:-knowledge_fs}
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
ports:
|
|
- "${POSTGRES_PORT:-5432}:5432"
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
- ./postgres-init:/docker-entrypoint-initdb.d:ro
|
|
|
|
unstructured:
|
|
image: downloads.unstructured.io/unstructured-io/unstructured-api:latest
|
|
ports:
|
|
- "${UNSTRUCTURED_PORT:-8000}:8000"
|
|
|
|
api:
|
|
build:
|
|
context: ../..
|
|
dockerfile: apps/api/Dockerfile
|
|
image: knowledge-fs-api:local
|
|
profiles: ["apps"]
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
unstructured:
|
|
condition: service_started
|
|
environment:
|
|
DATABASE_URL: postgresql://${POSTGRES_USER:-knowledge_fs}:${POSTGRES_PASSWORD:-knowledge_fs}@postgres:5432/${POSTGRES_DB:-knowledge_fs}
|
|
DIFY_INNER_API_KEY: ${DIFY_INNER_API_KEY:-}
|
|
DIFY_INNER_API_URL: ${DIFY_INNER_API_URL:-http://host.docker.internal:5001}
|
|
DIFY_OBJECT_STORAGE_REQUEST_TIMEOUT_MS: ${DIFY_OBJECT_STORAGE_REQUEST_TIMEOUT_MS:-60000}
|
|
DIFY_DATASOURCE_RUNTIME_MAX_RESPONSE_BYTES: ${DIFY_DATASOURCE_RUNTIME_MAX_RESPONSE_BYTES:-8388608}
|
|
DIFY_DATASOURCE_RUNTIME_REQUEST_TIMEOUT_MS: ${DIFY_DATASOURCE_RUNTIME_REQUEST_TIMEOUT_MS:-60000}
|
|
DIFY_MODEL_RUNTIME_MAX_RESPONSE_BYTES: ${DIFY_MODEL_RUNTIME_MAX_RESPONSE_BYTES:-8388608}
|
|
DIFY_MODEL_RUNTIME_REQUEST_TIMEOUT_MS: ${DIFY_MODEL_RUNTIME_REQUEST_TIMEOUT_MS:-60000}
|
|
KNOWLEDGE_INTEGRATED_MODE_ENABLED: ${KNOWLEDGE_INTEGRATED_MODE_ENABLED:-false}
|
|
KNOWLEDGE_RESEARCH_REASONING_MAX_OUTPUT_TOKENS: ${KNOWLEDGE_RESEARCH_REASONING_MAX_OUTPUT_TOKENS:-8192}
|
|
KNOWLEDGE_RESEARCH_REASONING_TIMEOUT_MS: ${KNOWLEDGE_RESEARCH_REASONING_TIMEOUT_MS:-60000}
|
|
KNOWLEDGE_PDF_RASTERIZER: ${KNOWLEDGE_PDF_RASTERIZER:-poppler}
|
|
KNOWLEDGE_PDF_RASTERIZER_DPI: ${KNOWLEDGE_PDF_RASTERIZER_DPI:-144}
|
|
KNOWLEDGE_PDF_RASTERIZER_THUMBNAIL_DPI: ${KNOWLEDGE_PDF_RASTERIZER_THUMBNAIL_DPI:-48}
|
|
KNOWLEDGE_PDF_RASTERIZER_TIMEOUT_MS: ${KNOWLEDGE_PDF_RASTERIZER_TIMEOUT_MS:-30000}
|
|
KNOWLEDGE_PDF_RASTERIZER_MAX_ASSETS: ${KNOWLEDGE_PDF_RASTERIZER_MAX_ASSETS:-500}
|
|
KNOWLEDGE_PDF_RASTERIZER_MAX_CONCURRENCY: ${KNOWLEDGE_PDF_RASTERIZER_MAX_CONCURRENCY:-2}
|
|
NODE_ENV: development
|
|
PORT: 8787
|
|
KNOWLEDGE_DEV_AUTH_TOKEN: ${KNOWLEDGE_DEV_AUTH_TOKEN:-dev-token}
|
|
KNOWLEDGE_DEV_SUBJECT_ID: ${KNOWLEDGE_DEV_SUBJECT_ID:-dev-user}
|
|
KNOWLEDGE_DEV_TENANT_ID: ${KNOWLEDGE_DEV_TENANT_ID:-tenant-dev}
|
|
UNSTRUCTURED_API_URL: ${UNSTRUCTURED_API_URL:-http://unstructured:8000}
|
|
UNSTRUCTURED_MAX_CONCURRENCY: ${UNSTRUCTURED_MAX_CONCURRENCY:-2}
|
|
UNSTRUCTURED_REQUEST_TIMEOUT_MS: ${UNSTRUCTURED_REQUEST_TIMEOUT_MS:-120000}
|
|
UNSTRUCTURED_MAX_RESPONSE_BYTES: ${UNSTRUCTURED_MAX_RESPONSE_BYTES:-33554432}
|
|
UNSTRUCTURED_MAX_RETRIES: ${UNSTRUCTURED_MAX_RETRIES:-0}
|
|
UNSTRUCTURED_RETRY_DELAY_MS: ${UNSTRUCTURED_RETRY_DELAY_MS:-100}
|
|
ports:
|
|
- "${API_PORT:-8788}:8787"
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"node",
|
|
"-e",
|
|
"fetch('http://127.0.0.1:8787/ready').then(r=>{if(!r.ok)process.exit(1)}).catch(()=>process.exit(1))",
|
|
]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
admin:
|
|
build:
|
|
context: ../..
|
|
dockerfile: apps/admin/Dockerfile
|
|
image: knowledge-fs-admin:local
|
|
profiles: ["apps"]
|
|
depends_on:
|
|
api:
|
|
condition: service_healthy
|
|
environment:
|
|
HOSTNAME: 0.0.0.0
|
|
KNOWLEDGE_API_BASE_URL: http://api:8787
|
|
KNOWLEDGE_DEV_AUTH_TOKEN: ${KNOWLEDGE_DEV_AUTH_TOKEN:-dev-token}
|
|
NEXT_PUBLIC_API_BASE_URL: http://localhost:${API_PORT:-8788}
|
|
NODE_ENV: production
|
|
PORT: 3000
|
|
ports:
|
|
- "${ADMIN_PORT:-3000}:3000"
|
|
|
|
volumes:
|
|
postgres-data:
|