refactor: 将 docker-compose.yml 中的环境变量提取到 api-worker-env 中以简化配置

This commit is contained in:
Wenjie Zhang 2026-03-20 20:21:02 +08:00
parent 772ab53d1a
commit fa9b708a19
2 changed files with 26 additions and 43 deletions

View File

@ -4,7 +4,7 @@ REDIS_URL=redis://redis:6379/0
RUN_EVENTS_STREAM_TTL_SECONDS=7200
RUN_CANCEL_KEY_TTL_SECONDS=1800
LANGGRAPH_CHECKPOINTER_BACKEND=postgres
VITE_USE_RUNS_API=false
VITE_USE_RUNS_API=false # 部分体验有待优化debug
# region model_provider
SILICONFLOW_API_KEY= # 推荐使用硅基流动免费服务 https://cloud.siliconflow.cn/i/Eo5yTHGJ

View File

@ -1,3 +1,26 @@
x-api-worker-env: &api-worker-env
HOST_IP: ${HOST_IP:-}
LITE_MODE: ${LITE_MODE:-}
RUNNING_IN_DOCKER: "true"
MODEL_DIR_IN_DOCKER: /models
PYTHONPATH: /app/package
POSTGRES_URL: ${POSTGRES_URL:-postgresql+asyncpg://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/${POSTGRES_DB:-yuxi_know}}
REDIS_URL: ${REDIS_URL:-redis://redis:6379/0}
RUN_CANCEL_KEY_TTL_SECONDS: ${RUN_CANCEL_KEY_TTL_SECONDS:-1800}
RUN_EVENTS_STREAM_TTL_SECONDS: ${RUN_EVENTS_STREAM_TTL_SECONDS:-7200}
NEO4J_URI: ${NEO4J_URI:-bolt://graph:7687}
NEO4J_USERNAME: ${NEO4J_USERNAME:-neo4j}
NEO4J_PASSWORD: ${NEO4J_PASSWORD:-0123456789}
MILVUS_URI: ${MILVUS_URI:-http://milvus:19530}
MILVUS_DB_NAME: ${MILVUS_DB_NAME:-default}
MILVUS_TOKEN: ${MILVUS_TOKEN:-}
MINERU_VL_SERVER: ${MINERU_VL_SERVER:-http://mineru-vllm-server:30000}
MINERU_API_URI: ${MINERU_API_URI:-http://mineru-api:30001}
PADDLEX_URI: ${PADDLEX_URI:-http://paddlex:8080}
MINIO_URI: ${MINIO_URI:-http://minio:9000}
NO_PROXY: localhost,127.0.0.1,milvus,graph,minio,milvus-etcd-dev,etcd,mineru,paddlex,api.siliconflow.cn
no_proxy: localhost,127.0.0.1,milvus,graph,minio,milvus-etcd-dev,etcd,mineru,paddlex,api.siliconflow.cn
services:
api:
build:
@ -24,27 +47,7 @@ services:
- .env
# region api_envs
environment:
- HOST_IP=${HOST_IP:-}
- LITE_MODE=${LITE_MODE:-}
- POSTGRES_URL=${POSTGRES_URL:-postgresql+asyncpg://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/${POSTGRES_DB:-yuxi_know}}
- REDIS_URL=${REDIS_URL:-redis://redis:6379/0}
- RUN_EVENTS_STREAM_TTL_SECONDS=${RUN_EVENTS_STREAM_TTL_SECONDS:-7200}
- RUN_CANCEL_KEY_TTL_SECONDS=${RUN_CANCEL_KEY_TTL_SECONDS:-1800}
- NEO4J_URI=${NEO4J_URI:-bolt://graph:7687}
- NEO4J_USERNAME=${NEO4J_USERNAME:-neo4j}
- NEO4J_PASSWORD=${NEO4J_PASSWORD:-0123456789}
- MILVUS_URI=${MILVUS_URI:-http://milvus:19530}
- MILVUS_DB_NAME=${MILVUS_DB_NAME:-default}
- MILVUS_TOKEN=${MILVUS_TOKEN:-}
- MINERU_VL_SERVER=${MINERU_VL_SERVER:-http://mineru-vllm-server:30000}
- MINERU_API_URI=${MINERU_API_URI:-http://mineru-api:30001}
- PADDLEX_URI=${PADDLEX_URI:-http://paddlex:8080}
- MINIO_URI=${MINIO_URI:-http://minio:9000}
- MODEL_DIR_IN_DOCKER=/models
- RUNNING_IN_DOCKER=true
- NO_PROXY=localhost,127.0.0.1,milvus,graph,minio,milvus-etcd-dev,etcd,minio,mineru,paddlex,api.siliconflow.cn
- no_proxy=localhost,127.0.0.1,milvus,graph,minio,milvus-etcd-dev,etcd,minio,mineru,paddlex,api.siliconflow.cn
- PYTHONPATH=/app/package
<<: *api-worker-env
# endregion api_envs
command: uv run --no-dev uvicorn server.main:app --host 0.0.0.0 --port 5050 --reload
restart: unless-stopped
@ -86,27 +89,7 @@ services:
env_file:
- .env
environment:
- HOST_IP=${HOST_IP:-}
- LITE_MODE=${LITE_MODE:-}
- POSTGRES_URL=${POSTGRES_URL:-postgresql+asyncpg://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/${POSTGRES_DB:-yuxi_know}}
- REDIS_URL=${REDIS_URL:-redis://redis:6379/0}
- RUN_EVENTS_STREAM_TTL_SECONDS=${RUN_EVENTS_STREAM_TTL_SECONDS:-7200}
- RUN_CANCEL_KEY_TTL_SECONDS=${RUN_CANCEL_KEY_TTL_SECONDS:-1800}
- NEO4J_URI=${NEO4J_URI:-bolt://graph:7687}
- NEO4J_USERNAME=${NEO4J_USERNAME:-neo4j}
- NEO4J_PASSWORD=${NEO4J_PASSWORD:-0123456789}
- MILVUS_URI=${MILVUS_URI:-http://milvus:19530}
- MILVUS_DB_NAME=${MILVUS_DB_NAME:-default}
- MILVUS_TOKEN=${MILVUS_TOKEN:-}
- MINERU_VL_SERVER=${MINERU_VL_SERVER:-http://mineru-vllm-server:30000}
- MINERU_API_URI=${MINERU_API_URI:-http://mineru-api:30001}
- PADDLEX_URI=${PADDLEX_URI:-http://paddlex:8080}
- MINIO_URI=${MINIO_URI:-http://minio:9000}
- MODEL_DIR_IN_DOCKER=/models
- RUNNING_IN_DOCKER=true
- NO_PROXY=localhost,127.0.0.1,milvus,graph,minio,milvus-etcd-dev,etcd,minio,mineru,paddlex,api.siliconflow.cn
- no_proxy=localhost,127.0.0.1,milvus,graph,minio,milvus-etcd-dev,etcd,minio,mineru,paddlex,api.siliconflow.cn
- PYTHONPATH=/app/package
<<: *api-worker-env
command: uv run --no-dev arq server.worker_main.WorkerSettings
restart: unless-stopped
depends_on: