services: paddleocr-vl-api: image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleocr-vl:${API_IMAGE_TAG_SUFFIX} container_name: paddleocr-vl-api ports: - 8080:8080 privileged: true devices: - /dev/dri:/dev/dri - /dev/mxcd:/dev/mxcd security_opt: - seccomp=unconfined - apparmor=unconfined shm_size: 64g ulimits: memlock: -1 depends_on: paddleocr-vlm-server: condition: service_healthy user: root restart: unless-stopped environment: - VLM_BACKEND=${VLM_BACKEND:-vllm} command: /bin/bash -c "paddlex --serve --pipeline /home/paddleocr/pipeline_config_${VLM_BACKEND}.yaml --device metax_gpu" healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8080/health || exit 1"] paddleocr-vlm-server: image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleocr-genai-${VLM_BACKEND}-server:${VLM_IMAGE_TAG_SUFFIX} container_name: paddleocr-vlm-server privileged: true devices: - /dev/dri:/dev/dri - /dev/mxcd:/dev/mxcd security_opt: - seccomp=unconfined - apparmor=unconfined shm_size: 64g ulimits: memlock: -1 user: root restart: unless-stopped healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8080/health || exit 1"] start_period: 300s