services: paddleocr-vl-api: build: context: . dockerfile: gateway.Dockerfile args: HPS_SDK_DIR: ${HPS_SDK_DIR:-paddlex_hps_PaddleOCR-VL-1.6_sdk} container_name: paddleocr-vl-api ports: - 8080:8080 depends_on: paddleocr-vl-pipeline: condition: service_healthy environment: - HPS_TRITON_URL=paddleocr-vl-pipeline:8001 - HPS_VLM_URL=${HPS_VLM_URL:-http://paddleocr-vlm-server:8080} - HPS_MAX_CONCURRENT_INFERENCE_REQUESTS=${HPS_MAX_CONCURRENT_INFERENCE_REQUESTS:-16} - HPS_MAX_CONCURRENT_NON_INFERENCE_REQUESTS=${HPS_MAX_CONCURRENT_NON_INFERENCE_REQUESTS:-64} - HPS_INFERENCE_TIMEOUT=${HPS_INFERENCE_TIMEOUT:-600} - HPS_LOG_LEVEL=${HPS_LOG_LEVEL:-INFO} - HPS_UVICORN_WORKERS=${HPS_UVICORN_WORKERS:-4} restart: unless-stopped healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8080/health || exit 1"] interval: 10s timeout: 5s retries: 3 paddleocr-vl-pipeline: build: context: . dockerfile: pipeline.Dockerfile args: BASE_IMAGE: ${HPS_TRITON_BASE_IMAGE:-ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:paddlex${HPS_PADDLEX_VERSION:-3.6}-gpu} DEVICE_TYPE: ${HPS_DEVICE_TYPE:-gpu} HPS_SDK_DIR: ${HPS_SDK_DIR:-paddlex_hps_PaddleOCR-VL-1.6_sdk} container_name: paddleocr-vl-pipeline depends_on: paddleocr-vlm-server: condition: service_healthy deploy: resources: reservations: devices: - driver: nvidia device_ids: ["${HPS_DEVICE_ID:-0}"] capabilities: [gpu] shm_size: 4gb restart: unless-stopped healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8000/v2/health/ready || exit 1"] interval: 10s timeout: 5s retries: 3 start_period: 60s paddleocr-vlm-server: image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleocr-genai-vllm-server:latest-nvidia-gpu container_name: paddleocr-vlm-server volumes: - ./${HPS_SDK_DIR:-paddlex_hps_PaddleOCR-VL-1.6_sdk}/server/pipeline_config.yaml:/config/pipeline_config.yaml:ro - ./genai_server_entrypoint.sh:/entrypoint.sh:ro command: ["/bin/sh", "/entrypoint.sh"] deploy: resources: reservations: devices: - driver: nvidia device_ids: ["${HPS_DEVICE_ID:-0}"] capabilities: [gpu] restart: unless-stopped healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8080/health || exit 1"] interval: 10s timeout: 5s retries: 3 start_period: 300s