Files
vllm-omni/docker/Dockerfile.ci
T

47 lines
1.7 KiB
Docker
Raw Normal View History

2025-12-04 23:23:22 +08:00
ARG VLLM_BASE_IMAGE=vllm/vllm-openai
+13
2026-01-21 00:25:25 +08:00
ARG VLLM_BASE_TAG=v0.14.0
2025-12-04 23:23:22 +08:00
FROM ${VLLM_BASE_IMAGE}:${VLLM_BASE_TAG}
2026-01-28 11:15:54 +08:00
2025-12-04 23:23:22 +08:00
ARG APP_DIR=/workspace/vllm-omni
WORKDIR ${APP_DIR}
2026-01-28 11:15:54 +08:00
# System deps
RUN apt-get update && \
2026-01-28 15:57:13 +08:00
apt-get install -y ffmpeg git && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
2026-01-28 11:15:54 +08:00
# Copy after system deps (optional, but keeps layers cleaner)
COPY . .
# ---- 1) Install vLLM nightly FIRST (remove pinned vLLM from base image) ----
# Provide ONE of these at build time:
# - VLLM_NIGHTLY_INDEX_URL (preferred) OR
# - VLLM_WHEEL_URL (explicit wheel)
ARG VLLM_NIGHTLY_INDEX_URL=
ARG VLLM_WHEEL_URL=
2026-01-28 15:47:30 +08:00
ARG VLLM_GIT_REF=706f123b23b75097da9a3f51ce538bd784fdc75b
2026-01-28 11:15:54 +08:00
RUN set -eux; \
PY="$(python3 -c 'import sys; print(sys.executable)')"; \
2026-01-28 15:47:30 +08:00
uv pip uninstall --python "$PY" vllm || true; \
2026-01-28 11:15:54 +08:00
if [ -n "$VLLM_WHEEL_URL" ]; then \
uv pip install --python "$PY" --no-cache-dir "$VLLM_WHEEL_URL"; \
elif [ -n "$VLLM_NIGHTLY_INDEX_URL" ]; then \
uv pip install --python "$PY" --no-cache-dir -U --pre \
--extra-index-url "$VLLM_NIGHTLY_INDEX_URL" \
vllm; \
2026-01-28 15:47:30 +08:00
elif [ -n "$VLLM_GIT_REF" ]; then \
uv pip install --python "$PY" --no-cache-dir \
"vllm @ git+https://github.com/vllm-project/vllm.git@${VLLM_GIT_REF}"; \
2026-01-28 11:15:54 +08:00
else \
2026-01-28 15:47:30 +08:00
echo "ERROR: set VLLM_WHEEL_URL, VLLM_NIGHTLY_INDEX_URL, or VLLM_GIT_REF"; \
2026-01-28 11:15:54 +08:00
exit 1; \
fi; \
python3 -c "import vllm; print('vllm installed:', getattr(vllm,'__version__','<unknown>'))"
# ---- 2) THEN install your package into the same env ----
2025-12-04 23:23:22 +08:00
RUN uv pip install --python "$(python3 -c 'import sys; print(sys.executable)')" --no-cache-dir ".[dev]"
RUN ln -sf /usr/bin/python3 /usr/bin/python
ENTRYPOINT []