ARG VLLM_BASE_IMAGE=vllm/vllm-openai ARG VLLM_BASE_TAG=v0.17.0 FROM ${VLLM_BASE_IMAGE}:${VLLM_BASE_TAG} ARG APP_DIR=/workspace/vllm-omni WORKDIR ${APP_DIR} COPY . . # Install system dependencies RUN apt-get update && \ apt-get install -y espeak-ng ffmpeg git sox libsox-fmt-all jq && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # Install vLLM wheel for the specific commit # URL format: https://wheels.vllm.ai// # Current vLLM wheel commit: 097eb544e9a22810c9b7a59e586b61627b308362 # Note: --prerelease=allow is required because nightly/commit wheels use # pre-release version numbers (e.g. 2.10.0.dev...) which uv ignores by default, # causing it to fall back to the older stable release from PyPI. RUN uv pip install --system --upgrade --force-reinstall --prerelease=allow vllm --extra-index-url https://wheels.vllm.ai/097eb544e9a22810c9b7a59e586b61627b308362 RUN uv pip install --system --no-cache-dir ".[dev]" RUN uv pip install --system --upgrade \ "flashinfer-cubin==0.6.4" \ "nvidia-cublas-cu12==12.9.1.4" \ "numpy==2.2.6" RUN uv pip install --system --upgrade \ "flashinfer-jit-cache==0.6.4" \ --index-url https://flashinfer.ai/whl/cu129 RUN ln -sf /usr/bin/python3 /usr/bin/python ENTRYPOINT []