ARG VLLM_BASE_IMAGE=vllm/vllm-openai ARG VLLM_BASE_TAG=v0.14.0 FROM ${VLLM_BASE_IMAGE}:${VLLM_BASE_TAG} ARG APP_DIR=/workspace/vllm-omni WORKDIR ${APP_DIR} # System deps RUN apt-get update && \ apt-get install -y ffmpeg git && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # 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= ARG VLLM_GIT_REF=706f123b23b75097da9a3f51ce538bd784fdc75b RUN set -eux; \ PY="$(python3 -c 'import sys; print(sys.executable)')"; \ uv pip uninstall --python "$PY" vllm || true; \ 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; \ 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}"; \ else \ echo "ERROR: set VLLM_WHEEL_URL, VLLM_NIGHTLY_INDEX_URL, or VLLM_GIT_REF"; \ exit 1; \ fi; \ python3 -c "import vllm; print('vllm installed:', getattr(vllm,'__version__',''))" # ---- 2) THEN install your package into the same env ---- 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 []