From fc58e8e8efc312d47f179c0635f23aaa2dc3a3cc Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Sat, 21 Mar 2026 14:53:39 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=B0=86=20docker-compose.prod.yml?= =?UTF-8?q?=20=E4=B8=AD=E7=9A=84=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E6=8F=90=E5=8F=96=E5=88=B0=20anchor=20=E4=B8=AD=E4=BB=A5?= =?UTF-8?q?=E7=AE=80=E5=8C=96=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.template | 3 -- docker-compose.prod.yml | 67 +++++++++++++++++------------------------ 2 files changed, 27 insertions(+), 43 deletions(-) diff --git a/.env.template b/.env.template index 1528b759..a4dc0bb7 100644 --- a/.env.template +++ b/.env.template @@ -1,8 +1,5 @@ MODEL_DIR=./models SAVE_DIR=./saves -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 # 部分体验有待优化,debug diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index b8cbd8ee..a93413f7 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -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,etcd,minio,mineru,paddlex,api.siliconflow.cn + no_proxy: localhost,127.0.0.1,milvus,graph,minio,milvus-etcd,etcd,minio,mineru,paddlex,api.siliconflow.cn + services: api: build: @@ -14,27 +37,10 @@ services: - "host.docker.internal:host-gateway" env_file: - .env.prod + # 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_TOKEN=${MILVUS_TOKEN:-} - - MILVUS_DB_NAME=${MILVUS_DB_NAME:-default} - - 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,etcd,minio,mineru,paddlex,api.siliconflow.cn - - no_proxy=localhost,127.0.0.1,milvus,graph,minio,milvus-etcd,etcd,minio,mineru,paddlex,api.siliconflow.cn + <<: *api-worker-env + # endregion api_envs command: uv run --no-dev uvicorn server.main:app --host 0.0.0.0 --port 5050 restart: unless-stopped healthcheck: @@ -67,26 +73,7 @@ services: env_file: - .env.prod 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_TOKEN=${MILVUS_TOKEN:-} - - MILVUS_DB_NAME=${MILVUS_DB_NAME:-default} - - 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,etcd,minio,mineru,paddlex,api.siliconflow.cn - - no_proxy=localhost,127.0.0.1,milvus,graph,minio,milvus-etcd,etcd,minio,mineru,paddlex,api.siliconflow.cn + <<: *api-worker-env command: uv run --no-dev arq server.worker_main.WorkerSettings restart: unless-stopped depends_on: