Files
vllm-omni/docker/Dockerfile.ci
T

45 lines
2.1 KiB
Docker
Raw Normal View History

2025-12-04 23:23:22 +08:00
ARG VLLM_BASE_IMAGE=vllm/vllm-openai
2026-02-12 21:25:53 +08:00
ARG VLLM_BASE_TAG=v0.15.0
2025-12-04 23:23:22 +08:00
FROM ${VLLM_BASE_IMAGE}:${VLLM_BASE_TAG}
ARG APP_DIR=/workspace/vllm-omni
WORKDIR ${APP_DIR}
2025-12-04 23:23:22 +08:00
COPY . .
# Install system dependencies
RUN apt-get update && \
apt-get install -y ffmpeg sox libsox-fmt-all && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
2026-02-05 10:52:28 +00:00
# Install vLLM wheel for the specific commit
# URL format: https://wheels.vllm.ai/<commit_hash>/
2026-02-16 03:21:21 +00:00
# Current vLLM wheel commit: d5fe3f702c2f4392515cdfde6fd0442271c74dda
# 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.
2026-02-16 03:21:21 +00:00
RUN uv pip install --system --upgrade --force-reinstall --prerelease=allow vllm --extra-index-url https://wheels.vllm.ai/d5fe3f702c2f4392515cdfde6fd0442271c74dda
2026-02-05 10:52:28 +00:00
RUN uv pip uninstall --system nvidia-cublas-cu12
2025-12-04 23:23:22 +08:00
# Install vllm-omni into the same uv-managed Python environment used by the base image.
# Use bash -c so that $(python3 -c ...) is expanded inside the container.
RUN uv pip install --system --no-cache-dir ".[dev]"
# pplx_kernels is optional; the base image may already ship a version.
# Reinstall attempt may fail if no compatible wheel exists for the current
# PyTorch/CUDA combination – allow the build to continue regardless.
RUN pip install --upgrade --force-reinstall "pplx_kernels" || true
2026-02-12 08:52:06 +00:00
RUN /bin/bash -c 'FLASHINFER_CUDA_TAG="$(python3 -c "import torch; print((torch.version.cuda or \"12.4\").replace(\".\", \"\"))")" && \
uv pip install --system --upgrade --force-reinstall \
"flashinfer-python==0.6.3" \
"flashinfer-cubin==0.6.3" \
"flashinfer-jit-cache==0.6.3" \
--extra-index-url "https://flashinfer.ai/whl/cu${FLASHINFER_CUDA_TAG}"'
# Pin nvidia-cublas-cu12 after vllm-omni install so dependency resolution does not overwrite it
RUN uv pip install --system --upgrade --force-reinstall "nvidia-cublas-cu12==12.9.1.4"
RUN uv pip install --system --upgrade --force-reinstall "numpy==2.2.6"
2025-12-04 23:23:22 +08:00
RUN ln -sf /usr/bin/python3 /usr/bin/python
2025-12-04 23:23:22 +08:00
ENTRYPOINT []