Namespace
gpustack
Image / Tag
runner:cuda13.0-vllm0.27.1-dev
Content Digest
sha256:142e50a908f798382e6d0992e5efe113e42b65b39357bb234a5180d9f82b5275
Details
Created

2026-09-20 03:09:47 UTC

Size

9.21 GB

Content Digest
Labels
  • ai.vllm.build.commit
    6e448d0ea9bf3d88d898b65449ca6dc2aec170ac
  • ai.vllm.build.pipeline
    019d130e-464e-4ff7-b84b-492992c0c06b
  • ai.vllm.build.url
    https://buildkite.com/vllm/release-v2/builds/5006
  • ai.vllm.image.tag
    vllm/vllm-openai:v0.27.1-ubuntu2404
  • maintainer
    NVIDIA CORPORATION <cudatools@nvidia.com>
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.revision
    6e448d0ea9bf3d88d898b65449ca6dc2aec170ac
  • org.opencontainers.image.source
    https://github.com/vllm-project/vllm
  • org.opencontainers.image.url
    https://buildkite.com/vllm/release-v2/builds/5006
  • org.opencontainers.image.version
    vllm/vllm-openai:v0.27.1-ubuntu2404

Environment
CUDA_ARCHS

CUDA_HOME

/usr/local/cuda

CUDA_VERSION

13.0.1

DEBIAN_FRONTEND

noninteractive

LANG

en_US.UTF-8

LANGUAGE

en_US:en

LC_ALL

en_US.UTF-8

LD_LIBRARY_PATH

/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64

NVARCH

x86_64

NVIDIA_DRIVER_CAPABILITIES

compute,utility

NVIDIA_REQUIRE_CUDA

cuda>=13.0 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551 brand=unknown,driver>=565,driver<566 brand=grid,driver>=565,driver<566 brand=tesla,driver>=565,driver<566 brand=nvidia,driver>=565,driver<566 brand=quadro,driver>=565,driver<566 brand=quadrortx,driver>=565,driver<566 brand=nvidiartx,driver>=565,driver<566 brand=vapps,driver>=565,driver<566 brand=vpc,driver>=565,driver<566 brand=vcs,driver>=565,driver<566 brand=vws,driver>=565,driver<566 brand=cloudgaming,driver>=565,driver<566 brand=unknown,driver>=570,driver<571 brand=grid,driver>=570,driver<571 brand=tesla,driver>=570,driver<571 brand=nvidia,driver>=570,driver<571 brand=quadro,driver>=570,driver<571 brand=quadrortx,driver>=570,driver<571 brand=nvidiartx,driver>=570,driver<571 brand=vapps,driver>=570,driver<571 brand=vpc,driver>=570,driver<571 brand=vcs,driver>=570,driver<571 brand=vws,driver>=570,driver<571 brand=cloudgaming,driver>=570,driver<571 brand=unknown,driver>=575,driver<576 brand=grid,driver>=575,driver<576 brand=tesla,driver>=575,driver<576 brand=nvidia,driver>=575,driver<576 brand=quadro,driver>=575,driver<576 brand=quadrortx,driver>=575,driver<576 brand=nvidiartx,driver>=575,driver<576 brand=vapps,driver>=575,driver<576 brand=vpc,driver>=575,driver<576 brand=vcs,driver>=575,driver<576 brand=vws,driver>=575,driver<576 brand=cloudgaming,driver>=575,driver<576

NVIDIA_VISIBLE_DEVICES

all

NV_CUDA_CUDART_VERSION

13.0.96-1

PATH

/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PIP_DISABLE_PIP_VERSION_CHECK

1

PIP_NO_CACHE_DIR

1

PIP_ROOT_USER_ACTION

ignore

PYTHON_VERSION

3.12

RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES

1

RUNAI_STREAMER_LOG_LEVEL

INFO

RUNAI_STREAMER_LOG_TO_STDERR

1

RUNAI_STREAMER_MEMORY_LIMIT

0

SAFETENSORS_FAST_GPU

1

TORCH_CUDA_ARCH_LIST

7.5 8.0 8.6 8.9 9.0 10.0 12.0

UV_CACHE_DIR

/opt/uv/cache

UV_HTTP_TIMEOUT

500

UV_INDEX_STRATEGY

unsafe-best-match

UV_LINK_MODE

copy

UV_NO_CACHE

1

UV_OVERRIDE

/etc/uv-overrides.txt

UV_PRERELEASE

allow

UV_PYTHON_INSTALL_DIR

/opt/uv/python

UV_SKIP_WHEEL_FILENAME_CHECK

1

UV_SYSTEM_PYTHON

1

VLLM_BUILD_COMMIT

6e448d0ea9bf3d88d898b65449ca6dc2aec170ac

VLLM_BUILD_PIPELINE

019d130e-464e-4ff7-b84b-492992c0c06b

VLLM_BUILD_URL

https://buildkite.com/vllm/release-v2/builds/5006

VLLM_ENABLE_CUDA_COMPATIBILITY

0

VLLM_IMAGE_TAG

vllm/vllm-openai:v0.27.1-ubuntu2404

VLLM_LMCACHE_VERSION

0.5.4

VLLM_TORCH_CUDA_VERSION

13.0.1

VLLM_TORCH_VERSION

2.13.0

VLLM_USAGE_SOURCE

production-docker-image

VLLM_VERSION

0.27.1


Layers

[#000] sha256:cf57d2112d8994ff0bb5f867ab8e776272e1d0bcfbb6e6d7f38fd7973b7140cf - 0.31% (29.2 MB)

[#001] sha256:c567a87f21d2f8e46feb4f6c427eb5559d45a1a222f73d601352403d13af1ada - 0.05% (4.34 MB)

[#002] sha256:0b3b5bd928240da4156c41fcfb400c1f4f8674acd2faee0413ab5a032dfb5f76 - 1.06% (100 MB)

[#003] sha256:70f87b6ed43e1cbbe67ce74c7877fb771bf352b25d602a82ee4f840f2e265155 - 0.0% (182 Bytes)

[#004] sha256:526d5438c009ab7178af1646fed10ff6f47a73f5a1ae7b9f49e63e4ade7e3ae6 - 0.0% (6.72 KB)

[#005] sha256:afe4bfa39c7a49910d65b5b65923732be0bf831be83ff834f2dc2c1fb48540b9 - 0.0% (104 Bytes)

[#006] sha256:b6c805f11f56fbc8aac6e62229dc4ed28ec5633d87bb87c44bb6951b114b2bb8 - 0.0% (230 Bytes)

[#007] sha256:027e849d5520238a01d2c915f14a74c6670b75b73fce3c1d08c2dfa5a91fceb4 - 2.36% (223 MB)

[#008] sha256:bc2b304753bd8370f551d7266a1a8b643872c4d216b3f6f9433b2b55d5b8b288 - 13.91% (1.28 GB)

[#009] sha256:2a976ba9ea4e97b30861dd7d6ab12a764fa647e90060c650054009e9e41e6aec - 0.46% (43.1 MB)

[#010] sha256:c155b5f73527a3331824245221170f7a6c7763a53773f221c11889ae1bfa3aad - 0.0% (150 Bytes)

[#011] sha256:19b08a69602d6a6bd3cb07648d257cf64fc4391e5a68751751571899eee4a80b - 0.0% (164 Bytes)

[#012] sha256:0532ffc6b7156f68cec3dfdd3e2cf437dfce3558efef78f46f78e8fc016a5c75 - 0.0% (3.62 KB)

[#013] sha256:23bd0472ec62ade0383f17862241e54fb19f33679655e5ce7b42407ad0fb0599 - 0.0% (2.03 KB)

[#014] sha256:23bd0472ec62ade0383f17862241e54fb19f33679655e5ce7b42407ad0fb0599 - 0.0% (2.03 KB)

[#015] sha256:3a72487bb83ac75a06c3f989ff7948213588956e3446fe2461f3dd2a5d4bcdd8 - 0.0% (1.62 KB)

[#016] sha256:152364ffa4cae3aa335c9a886bbf215449215958cdc754ff0e8b23626bd05993 - 0.0% (871 Bytes)

[#017] sha256:f1e1ae4913d63ff7af2f92eb2d39f7c731501bbd427e11cd508cc7db42a41bc0 - 46.94% (4.32 GB)

[#018] sha256:c42386fa11019918c4966515724e7046fee2cd9e4de163ce88189a24f53e7197 - 15.23% (1.4 GB)

[#019] sha256:e81fbf7db412ac6419564db3773747b29cf0a8e7e63c6898dd0670b8e10f3b90 - 0.0% (897 Bytes)

[#020] sha256:74cb8e7224a37a7bb899afa542879894f9a9eed0eece9134afc0a763811cba3f - 0.01% (523 KB)

[#021] sha256:5e6c54307d986a1fdde433cc5966b39eba43ef0e8cb2ef6d2ec108190b3b6919 - 1.03% (97.5 MB)

[#022] sha256:e01d8932789732cddf337eeba6a3bd9323331f0e85ddfbcc4305aaf4cfff8b51 - 0.0% (200 Bytes)

[#023] sha256:cc1274a17fb4c6a5c2575669fb7d0130142f38a5a4ed64dc29b2673db22c2d05 - 0.0% (226 Bytes)

[#024] sha256:585a0598f31503fe062c172c6e706e09f6ae4af9c48bc647e599f313a2e634ee - 3.1% (293 MB)

[#025] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#026] sha256:bf44cfef95ac241efef700c94a95c4e0001b2b1ce0235d26ae7221beb459a695 - 0.0% (253 Bytes)

[#027] sha256:67cdffb5f318e78c0332616ca3f8f850ab32283075ed666f7d51217ac931b6e8 - 0.15% (14.3 MB)

[#028] sha256:77c1abc9192f444238399b92ff3658e3d3c0db9df128da53bb1c5ee0d7e0ad84 - 0.0% (262 KB)

[#029] sha256:30331a0517959892c55855011b6acb311cd98a387769e28b694b31d389746906 - 0.0% (272 KB)

[#030] sha256:074d893f38f6db35ee0ddeaef7ca42dea54b56b028c8380591b4f43cbfd41361 - 0.0% (9.62 KB)

[#031] sha256:e57766cd702c75653ad00bb26664652e1e5089ed1f348dcb6dbf96d4355c98d8 - 2.97% (280 MB)

[#032] sha256:5afb1ce26259f89d7dc35a306f659e4a25af51842aed31c6bbe1217412b419c5 - 4.88% (460 MB)

[#033] sha256:8884687d52168886112e254f5f88530bee4ad39353d98ecc4b4122a990bd8afd - 0.98% (92.2 MB)

[#034] sha256:90d8f02defdda120b2357cf23409980761c470edc886a9de598fecd96d1ce183 - 0.0% (1.9 KB)

[#035] sha256:a8dc27eb318809b64819e8c9a7220bac0f0523071d212ecd40abd7f30396c5b6 - 0.33% (31.1 MB)

[#036] sha256:48e956263098061e9d910b5c38ea8a34ccdf91343191dd4749065a93e12cb71d - 2.17% (205 MB)

[#037] sha256:f817939c37f722ad41088dc89c435f590c1cd38d24e65c1c804b3179d31fdbca - 2.6% (245 MB)

[#038] sha256:27b651b7842a6700e395c3097c5bc1635b769f556268465601167e6518b50eeb - 0.23% (21.5 MB)

[#039] sha256:68fe7035dd510bbea30a906a99c49510e1ebfc8717c4a6fbd8bf889982550106 - 0.69% (65.4 MB)

[#040] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#041] sha256:82e3b1ee075f099a83f4649f296d8ec1c34b974455f6128a40a12486c2b08ca8 - 0.0% (36.3 KB)

[#042] sha256:6bade284fc1d9ec2f1bd36520dd928a1bc394e62e9e10ee93b851882118d844f - 0.13% (12.5 MB)

[#043] sha256:0706ca0786866295f9d7a02c287d0f8a9b2d59b69f834872a22381306f800305 - 0.31% (29.6 MB)

[#044] sha256:0cb41b2f4240dd2055980e38c410eba448d35c2c0f76600f183b4d0d2e7c2d42 - 0.09% (8.35 MB)

[#045] sha256:72825b3a664c36461fd99deebe9a41659a7eb5167f6b47cdce6cb83a919bdeb3 - 0.0% (343 Bytes)


History
2025-10-01 13:01:35 UTC

/bin/sh -c #(nop) ARG RELEASE

2025-10-01 13:01:35 UTC

/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH

2025-10-01 13:01:35 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu

2025-10-01 13:01:35 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04

2025-10-01 13:01:37 UTC

/bin/sh -c #(nop) ADD file:249778a1782b02a1c2bcf9f292f5778d81442a53c3de1958d712f10baf7e0b60 in /

2025-10-01 13:01:37 UTC

/bin/sh -c #(nop) CMD ["/bin/bash"]

2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)

ENV NVARCH=x86_64

2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_REQUIRE_CUDA=cuda>=13.0 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551 brand=unknown,driver>=565,driver<566 brand=grid,driver>=565,driver<566 brand=tesla,driver>=565,driver<566 brand=nvidia,driver>=565,driver<566 brand=quadro,driver>=565,driver<566 brand=quadrortx,driver>=565,driver<566 brand=nvidiartx,driver>=565,driver<566 brand=vapps,driver>=565,driver<566 brand=vpc,driver>=565,driver<566 brand=vcs,driver>=565,driver<566 brand=vws,driver>=565,driver<566 brand=cloudgaming,driver>=565,driver<566 brand=unknown,driver>=570,driver<571 brand=grid,driver>=570,driver<571 brand=tesla,driver>=570,driver<571 brand=nvidia,driver>=570,driver<571 brand=quadro,driver>=570,driver<571 brand=quadrortx,driver>=570,driver<571 brand=nvidiartx,driver>=570,driver<571 brand=vapps,driver>=570,driver<571 brand=vpc,driver>=570,driver<571 brand=vcs,driver>=570,driver<571 brand=vws,driver>=570,driver<571 brand=cloudgaming,driver>=570,driver<571 brand=unknown,driver>=575,driver<576 brand=grid,driver>=575,driver<576 brand=tesla,driver>=575,driver<576 brand=nvidia,driver>=575,driver<576 brand=quadro,driver>=575,driver<576 brand=quadrortx,driver>=575,driver<576 brand=nvidiartx,driver>=575,driver<576 brand=vapps,driver>=575,driver<576 brand=vpc,driver>=575,driver<576 brand=vcs,driver>=575,driver<576 brand=vws,driver>=575,driver<576 brand=cloudgaming,driver>=575,driver<576

2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)

ENV NV_CUDA_CUDART_VERSION=13.0.96-1

2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH

2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com>

2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gnupg2 curl ca-certificates && curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/${NVARCH}/3bf863cc.pub | apt-key add - && echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/${NVARCH} /" > /etc/apt/sources.list.d/cuda.list && apt-get purge --autoremove -y curl && rm -rf /var/lib/apt/lists/* # buildkit

2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)

ENV CUDA_VERSION=13.0.2

2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cuda-cudart-13-0=${NV_CUDA_CUDART_VERSION} cuda-compat-13-0 && rm -rf /var/lib/apt/lists/* # buildkit

2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c echo "/usr/local/cuda/lib64" >> /etc/ld.so.conf.d/nvidia.conf # buildkit

2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)

ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64

2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)

COPY NGC-DL-CONTAINER-LICENSE / # buildkit

2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_VISIBLE_DEVICES=all

2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility

2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)

ARG CUDA_VERSION

2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)

ARG PYTHON_VERSION

2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)

ARG NCCL_VERSION

2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)

ARG DEADSNAKES_MIRROR_URL

2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)

ARG DEADSNAKES_GPGKEY_URL

2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)

ARG GET_PIP_URL

2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)

WORKDIR /vllm-workspace

2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c PYTHON_VERSION_STR=$(echo ${PYTHON_VERSION} | sed 's/\.//g') && echo "export PYTHON_VERSION_STR=${PYTHON_VERSION_STR}" >> /etc/environment # buildkit

2026-08-11 09:06:39 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c apt-get update -y && apt-get install -y --no-install-recommends software-properties-common curl sudo ffmpeg libsm6 libxext6 libgl1 && if [ ! -z ${DEADSNAKES_MIRROR_URL} ] ; then if [ ! -z "${DEADSNAKES_GPGKEY_URL}" ] ; then mkdir -p -m 0755 /etc/apt/keyrings ; curl -L ${DEADSNAKES_GPGKEY_URL} | gpg --dearmor > /etc/apt/keyrings/deadsnakes.gpg ; sudo chmod 644 /etc/apt/keyrings/deadsnakes.gpg ; echo "deb [signed-by=/etc/apt/keyrings/deadsnakes.gpg] ${DEADSNAKES_MIRROR_URL} $(lsb_release -cs) main" > /etc/apt/sources.list.d/deadsnakes.list ; fi ; else for i in 1 2 3; do add-apt-repository -y ppa:deadsnakes/ppa && break || { echo "Attempt $i failed, retrying in 5s..."; sleep 5; }; done ; fi && apt-get update -y && apt-get install -y --no-install-recommends python${PYTHON_VERSION} python${PYTHON_VERSION}-dev python${PYTHON_VERSION}-venv libibverbs-dev && rm -rf /var/lib/apt/lists/* && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 && update-alternatives --set python3 /usr/bin/python${PYTHON_VERSION} && ln -sf /usr/bin/python${PYTHON_VERSION}-config /usr/bin/python3-config && rm -f /usr/lib/python${PYTHON_VERSION}/EXTERNALLY-MANAGED && curl -sS ${GET_PIP_URL} | python${PYTHON_VERSION} && python3 --version && python3 -m pip --version # buildkit

2026-08-11 09:07:25 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c CUDA_VERSION_DASH=$(echo $CUDA_VERSION | cut -d. -f1,2 | tr '.' '-') && apt-get update -y && apt-get install -y --no-install-recommends --allow-change-held-packages cuda-nvcc-${CUDA_VERSION_DASH} cuda-cudart-${CUDA_VERSION_DASH} cuda-nvrtc-${CUDA_VERSION_DASH} cuda-cuobjdump-${CUDA_VERSION_DASH} libcurand-dev-${CUDA_VERSION_DASH} libcublas-dev-${CUDA_VERSION_DASH} libnuma-dev numactl && rm -rf /var/lib/apt/lists/* # buildkit

2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c python3 -m pip install uv # buildkit

2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)

ENV UV_HTTP_TIMEOUT=500

2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)

ENV UV_INDEX_STRATEGY=unsafe-best-match

2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)

ENV UV_LINK_MODE=copy

2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)

ENV UV_PYTHON_INSTALL_DIR=/opt/uv/python

2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)

ENV UV_CACHE_DIR=/opt/uv/cache

2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c mkdir -p "${UV_PYTHON_INSTALL_DIR}" "${UV_CACHE_DIR}" && chgrp -R 0 /opt/uv && chmod -R g+rwX,a+rX /opt/uv # buildkit

2026-08-11 09:07:56 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c CUDA_MAJOR=$(echo $CUDA_VERSION | cut -d. -f1) && if [ -n "$NCCL_VERSION" ]; then echo "nvidia-nccl-cu${CUDA_MAJOR}==${NCCL_VERSION}" > /etc/uv-overrides.txt; else touch /etc/uv-overrides.txt; fi # buildkit

2026-08-11 09:07:56 UTC (buildkit.dockerfile.v0)

ENV UV_OVERRIDE=/etc/uv-overrides.txt

2026-08-11 09:07:58 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c useradd --uid 2000 --gid 0 --create-home --home-dir /home/vllm --shell /bin/bash vllm && mkdir -p /home/vllm/.cache /home/vllm/.config && chown -R 2000:0 /home/vllm && chmod -R g+rwX /home/vllm && chgrp 0 /etc/passwd /etc/group && chmod g=u /etc/passwd /etc/group # buildkit

2026-08-11 09:07:59 UTC (buildkit.dockerfile.v0)

COPY docker/entrypoints/vllm-nonroot-entrypoint.sh /usr/local/bin/vllm-nonroot-entrypoint.sh # buildkit

2026-08-11 09:08:00 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c chmod 0755 /usr/local/bin/vllm-nonroot-entrypoint.sh # buildkit

2026-08-11 09:08:00 UTC (buildkit.dockerfile.v0)

ENV VLLM_ENABLE_CUDA_COMPATIBILITY=0

2026-08-11 09:08:00 UTC (buildkit.dockerfile.v0)

ARG PYTORCH_CUDA_INDEX_BASE_URL

2026-08-11 09:08:00 UTC (buildkit.dockerfile.v0)

COPY requirements/common.txt /tmp/common.txt # buildkit

2026-08-11 09:08:00 UTC (buildkit.dockerfile.v0)

COPY requirements/cuda.txt /tmp/requirements-cuda.txt # buildkit

2026-08-11 09:08:28 UTC (buildkit.dockerfile.v0)

RUN |7 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl /bin/sh -c if [ "$(echo $CUDA_VERSION | cut -d. -f1)" = "12" ]; then sed -i 's/^nvidia-cutlass-dsl\[cu13\]/nvidia-cutlass-dsl/' /tmp/requirements-cuda.txt; sed -i 's/^humming-kernels\[cu13\]/humming-kernels[cu12]/' /tmp/requirements-cuda.txt; fi && uv pip install --system -r /tmp/requirements-cuda.txt --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') && rm /tmp/requirements-cuda.txt /tmp/common.txt # buildkit

2026-08-11 09:08:28 UTC (buildkit.dockerfile.v0)

ARG FLASHINFER_VERSION=0.6.16.post3

2026-08-11 09:08:49 UTC (buildkit.dockerfile.v0)

RUN |8 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 /bin/sh -c uv pip install --system flashinfer-jit-cache==${FLASHINFER_VERSION} --index-url https://flashinfer.ai/whl/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') # buildkit

2026-08-11 09:08:49 UTC (buildkit.dockerfile.v0)

ARG GDRCOPY_CUDA_VERSION=12.8

2026-08-11 09:08:49 UTC (buildkit.dockerfile.v0)

ARG GDRCOPY_OS_VERSION=Ubuntu22_04

2026-08-11 09:08:49 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM

2026-08-11 09:08:49 UTC (buildkit.dockerfile.v0)

COPY tools/install_gdrcopy.sh /tmp/install_gdrcopy.sh # buildkit

2026-08-11 09:08:55 UTC (buildkit.dockerfile.v0)

RUN |11 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/amd64 /bin/sh -c set -eux; case "${TARGETPLATFORM}" in linux/arm64) UUARCH="aarch64" ;; linux/amd64) UUARCH="x64" ;; *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" >&2; exit 1 ;; esac; /tmp/install_gdrcopy.sh "${GDRCOPY_OS_VERSION}" "${GDRCOPY_CUDA_VERSION}" "${UUARCH}" && rm /tmp/install_gdrcopy.sh # buildkit

2026-08-11 09:08:55 UTC (buildkit.dockerfile.v0)

ARG BITSANDBYTES_VERSION_X86=0.46.1

2026-08-11 09:08:55 UTC (buildkit.dockerfile.v0)

ARG BITSANDBYTES_VERSION_ARM64=0.42.0

2026-08-11 09:08:55 UTC (buildkit.dockerfile.v0)

ARG TIMM_VERSION=>=1.0.17

2026-08-11 09:08:55 UTC (buildkit.dockerfile.v0)

ARG RUNAI_MODEL_STREAMER_VERSION=>=0.15.7

2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)

RUN |15 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/amd64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 /bin/sh -c if [ "$TARGETPLATFORM" = "linux/arm64" ]; then BITSANDBYTES_VERSION="${BITSANDBYTES_VERSION_ARM64}"; else BITSANDBYTES_VERSION="${BITSANDBYTES_VERSION_X86}"; fi; uv pip install --system accelerate 'modelscope<1.38' "bitsandbytes>=${BITSANDBYTES_VERSION}" "timm${TIMM_VERSION}" "runai-model-streamer[s3,gcs,azure]${RUNAI_MODEL_STREAMER_VERSION}" # buildkit

2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)

ARG PIP_INDEX_URL UV_INDEX_URL

2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)

ARG PIP_EXTRA_INDEX_URL UV_EXTRA_INDEX_URL

2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)

ARG PYTORCH_CUDA_INDEX_BASE_URL

2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)

ARG PIP_KEYRING_PROVIDER UV_KEYRING_PROVIDER

2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)

ARG PYTORCH_NIGHTLY

2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)

COPY /workspace/torch_lib_versions.txt torch_lib_versions.txt # buildkit

2026-08-11 09:20:57 UTC (buildkit.dockerfile.v0)

COPY /workspace/dist/wheel.sha256 /tmp/vllm-wheel.sha256 # buildkit

2026-08-11 09:21:03 UTC (buildkit.dockerfile.v0)

RUN |23 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/amd64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl PIP_KEYRING_PROVIDER=disabled UV_KEYRING_PROVIDER=disabled PYTORCH_NIGHTLY= /bin/sh -c if [ "${PYTORCH_NIGHTLY}" = "1" ]; then echo "Installing torch nightly..." && uv pip install --system $(cat torch_lib_versions.txt | xargs) --pre --index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') && echo "Installing vLLM..." && uv pip install --system dist/*.whl --verbose --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); else echo "Installing vLLM..." && uv pip install --system dist/*.whl --verbose --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); fi # buildkit

2026-08-11 09:21:03 UTC (buildkit.dockerfile.v0)

RUN |23 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/amd64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl PIP_KEYRING_PROVIDER=disabled UV_KEYRING_PROVIDER=disabled PYTORCH_NIGHTLY= /bin/sh -c . /etc/environment && uv pip list # buildkit

2026-08-11 09:21:03 UTC (buildkit.dockerfile.v0)

ENV LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64

2026-08-11 09:21:03 UTC (buildkit.dockerfile.v0)

COPY /tmp/ep_kernels_workspace/dist/wheels.sha256 /tmp/ep-kernels-wheels.sha256 # buildkit

2026-08-11 09:21:04 UTC (buildkit.dockerfile.v0)

RUN |23 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/amd64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl PIP_KEYRING_PROVIDER=disabled UV_KEYRING_PROVIDER=disabled PYTORCH_NIGHTLY= /bin/sh -c uv pip install --system ep_kernels/dist/*.whl --verbose --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') # buildkit

2026-08-11 09:21:04 UTC (buildkit.dockerfile.v0)

ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64

2026-08-11 09:21:04 UTC (buildkit.dockerfile.v0)

COPY examples examples # buildkit

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

COPY benchmarks benchmarks # buildkit

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

COPY ./vllm/collect_env.py . # buildkit

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

ARG INSTALL_KV_CONNECTORS=false

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

ARG CUDA_VERSION

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

ARG VLLM_BUILD_COMMIT

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

ARG VLLM_BUILD_PIPELINE

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

ARG VLLM_BUILD_URL

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

ARG VLLM_IMAGE_TAG

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

ARG PIP_INDEX_URL UV_INDEX_URL

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

ARG PIP_EXTRA_INDEX_URL UV_EXTRA_INDEX_URL

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

ENV UV_HTTP_TIMEOUT=500

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

ARG torch_cuda_arch_list=7.5 8.0 8.6 8.9 9.0 10.0 11.0 12.0

2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)

ENV TORCH_CUDA_ARCH_LIST=7.5 8.0 8.6 8.9 9.0 10.0 12.0

2026-08-11 09:21:13 UTC (buildkit.dockerfile.v0)

RUN |12 TARGETPLATFORM=linux/amd64 INSTALL_KV_CONNECTORS=true CUDA_VERSION=13.0.2 VLLM_BUILD_COMMIT=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac VLLM_BUILD_PIPELINE=019d130e-464e-4ff7-b84b-492992c0c06b VLLM_BUILD_URL=https://buildkite.com/vllm/release-v2/builds/5006 VLLM_IMAGE_TAG=vllm/vllm-openai:v0.27.1-ubuntu2404 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= torch_cuda_arch_list=7.5 8.0 8.6 8.9 9.0 10.0 12.0 /bin/sh -c CUDA_MAJOR="${CUDA_VERSION%%.*}"; CUDA_VERSION_DASH=$(echo $CUDA_VERSION | cut -d. -f1,2 | tr '.' '-'); CUDA_HOME=/usr/local/cuda; BUILD_PKGS="libcusparse-dev-${CUDA_VERSION_DASH} libcublas-dev-${CUDA_VERSION_DASH} libcusolver-dev-${CUDA_VERSION_DASH}"; if [ "$INSTALL_KV_CONNECTORS" = "true" ]; then uv pip install --system -r /tmp/kv_connectors.txt --no-build || ( apt-get update -y && apt-get install -y --no-install-recommends --allow-change-held-packages ${BUILD_PKGS} && uv pip install --system -r /tmp/kv_connectors.txt --no-build-isolation && apt-get purge -y ${BUILD_PKGS} && rm -rf /var/lib/apt/lists/* ); uv pip install --system --force-reinstall --no-deps nixl-cu${CUDA_MAJOR}; fi # buildkit

2026-08-11 09:21:13 UTC (buildkit.dockerfile.v0)

ARG MOONCAKE_WHEEL_AARCH64

2026-08-11 09:21:13 UTC (buildkit.dockerfile.v0)

ARG MOONCAKE_WHEEL_X86_64

2026-08-11 09:21:21 UTC (buildkit.dockerfile.v0)

RUN |14 TARGETPLATFORM=linux/amd64 INSTALL_KV_CONNECTORS=true CUDA_VERSION=13.0.2 VLLM_BUILD_COMMIT=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac VLLM_BUILD_PIPELINE=019d130e-464e-4ff7-b84b-492992c0c06b VLLM_BUILD_URL=https://buildkite.com/vllm/release-v2/builds/5006 VLLM_IMAGE_TAG=vllm/vllm-openai:v0.27.1-ubuntu2404 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= torch_cuda_arch_list=7.5 8.0 8.6 8.9 9.0 10.0 12.0 MOONCAKE_WHEEL_AARCH64=https://vllm-wheels.s3.amazonaws.com/mooncake/mooncake_transfer_engine-0.3.10.post2-0da9dfea3-cp312-cp312-manylinux_2_39_aarch64.whl MOONCAKE_WHEEL_X86_64=https://vllm-wheels.s3.amazonaws.com/mooncake/mooncake_transfer_engine-0.3.10.post2-0da9dfea3-cp312-cp312-manylinux_2_35_x86_64.whl /bin/sh -c if [ "$INSTALL_KV_CONNECTORS" = "true" ]; then if [ "$TARGETPLATFORM" = "linux/arm64" ]; then WHEEL="${MOONCAKE_WHEEL_AARCH64}"; else WHEEL="${MOONCAKE_WHEEL_X86_64}"; fi && if [ -n "${WHEEL}" ]; then uv pip install --system "${WHEEL}" && CUDA_MAJOR="${CUDA_VERSION%%.*}" && if [ ! -f /usr/local/cuda/lib64/libcudart.so ] && [ -f "/usr/local/cuda/lib64/libcudart.so.${CUDA_MAJOR}" ]; then ln -s "libcudart.so.${CUDA_MAJOR}" /usr/local/cuda/lib64/libcudart.so; fi; fi; fi # buildkit

2026-08-11 09:21:21 UTC (buildkit.dockerfile.v0)

ENV VLLM_USAGE_SOURCE=production-docker-image

2026-08-11 09:21:21 UTC (buildkit.dockerfile.v0)

ENV VLLM_BUILD_COMMIT=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac VLLM_BUILD_PIPELINE=019d130e-464e-4ff7-b84b-492992c0c06b VLLM_BUILD_URL=https://buildkite.com/vllm/release-v2/builds/5006 VLLM_IMAGE_TAG=vllm/vllm-openai:v0.27.1-ubuntu2404

2026-08-11 09:21:21 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/vllm-project/vllm org.opencontainers.image.revision=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac org.opencontainers.image.version=vllm/vllm-openai:v0.27.1-ubuntu2404 org.opencontainers.image.url=https://buildkite.com/vllm/release-v2/builds/5006 ai.vllm.build.commit=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac ai.vllm.build.pipeline=019d130e-464e-4ff7-b84b-492992c0c06b ai.vllm.build.url=https://buildkite.com/vllm/release-v2/builds/5006 ai.vllm.image.tag=vllm/vllm-openai:v0.27.1-ubuntu2404

2026-08-11 09:21:21 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["vllm" "serve"]

2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -eo pipefail -c]

2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM=linux/amd64

2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8

2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c # Tools # Refresh apt-get update -y && apt-get install -y --no-install-recommends \ software-properties-common apt-transport-https \ ca-certificates gnupg2 lsb-release gnupg-agent \ && apt-get update -y # Install apt-get install -y --no-install-recommends \ ca-certificates build-essential binutils bash openssl \ curl wget aria2 \ git git-lfs \ unzip xz-utils \ tzdata locales \ iproute2 iputils-ping ifstat net-tools dnsutils pciutils ipmitool \ rdma-core rdmacm-utils infiniband-diags \ procps sysstat htop \ tini vim jq bc tree # Update locale localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 # Update timezone rm -f /etc/localtime \ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone \ && dpkg-reconfigure --frontend noninteractive tzdata # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* \ && rm -rf /var/cache/apt # buildkit

2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)

ARG PYTHON_VERSION=3.12

2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12

2026-08-14 07:58:52 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 /bin/bash -eo pipefail -c # Python # Update alternatives if ! command -v python >/dev/null 2>&1 \ && command -v python${PYTHON_VERSION} >/dev/null 2>&1; then update-alternatives --install /usr/bin/python python $(which python${PYTHON_VERSION}) 1 fi # buildkit

2026-08-14 07:58:52 UTC (buildkit.dockerfile.v0)

ENV PIP_NO_CACHE_DIR=1 PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 /bin/bash -eo pipefail -c # Buildkit cat <<EOT >/tmp/requirements.txt build cmake<4 wheel pybind11<3 Cython EOT pip install -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

ARG CUDA_VERSION=13.0.1

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

ARG CUDA_ARCHS

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

ENV CUDA_HOME=/usr/local/cuda CUDA_VERSION=13.0.1 CUDA_ARCHS=

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

ENV UV_SYSTEM_PYTHON=1 UV_PRERELEASE=allow UV_SKIP_WHEEL_FILENAME_CHECK=1 UV_NO_CACHE=1 UV_HTTP_TIMEOUT=500 UV_INDEX_STRATEGY=unsafe-best-match

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

ARG VLLM_VERSION=0.27.1

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

ARG VLLM_TORCH_VERSION=2.13.0

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

ARG VLLM_TORCH_CUDA_VERSION=13.0.1

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

ENV VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -eo pipefail -c]

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM=linux/amd64

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-08-14 07:58:58 UTC (buildkit.dockerfile.v0)

RUN |9 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 /bin/bash -eo pipefail -c # Ray # Install Ray Client and Default. # Pinned to 2.54.0: ray 2.55 (ray-project/ray#61029) breaks distributed # ray.init when the driver has no co-located raylet (gpustack split containers). RAY_VERSION=2.54.0 cat <<EOT >/tmp/requirements.txt ray[cgraph]==${RAY_VERSION} ray[client]==${RAY_VERSION} ray[default]==${RAY_VERSION} EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-08-14 07:59:33 UTC (buildkit.dockerfile.v0)

RUN |9 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 /bin/bash -eo pipefail -c # Omni if [[ ! -d /omni/workspace ]]; then echo "Skipping vLLM Omni installation for ${TARGETARCH}..." exit 0 fi # Install uv pip install --no-build-isolation \ /omni/workspace/*.whl # Dependencies cat <<EOT >/tmp/requirements.txt onnxruntime sox EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-08-14 07:59:33 UTC (buildkit.dockerfile.v0)

ARG VLLM_LMCACHE_VERSION=0.5.4

2026-08-14 07:59:33 UTC (buildkit.dockerfile.v0)

ENV VLLM_LMCACHE_VERSION=0.5.4

2026-08-25 10:19:17 UTC (buildkit.dockerfile.v0)

RUN |10 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # LMCache # Install ## Replaces the base's own lmcache —— see the note on VLLM_LMCACHE_VERSION. Must run before ## the CuPy dedup below, since lmcache declares a CUDA-major-specific cupy variant. uv pip install --no-build-isolation \ /lmcache/workspace/*.whl # Review uv pip show lmcache ## Fail here on a torch ABI mismatch: lmcache itself only WARNs and falls back to its slow ## torch baseline. RTLD_NOW resolves all symbols without module init, so this needs no GPU. cat <<EOT >/tmp/check_lmcache.py import ctypes, glob, os, sysconfig, torch platlib = sysconfig.get_paths()["platlib"] sos = glob.glob(platlib + "/lmcache/*.so") assert sos, "no lmcache extension found under " + platlib for so in sos: ctypes.CDLL(so, mode=os.RTLD_NOW) print("lmcache resolved against torch " + torch.__version__ + ": " + ", ".join(sos)) EOT python /tmp/check_lmcache.py # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-08-25 10:19:20 UTC (buildkit.dockerfile.v0)

RUN |10 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # CuPy # ray[cgraph] pulls cupy-cuda12x while the base already ships cupy-cuda13x; both share # the same cupy/ tree, so uninstalling one breaks the other. Purge both, then reinstall # the CUDA-matching variant at the version vLLM pinned in the base (its cupy-cuda13x), # so cu129 also gets that pinned version instead of ray's unconstrained cupy-cuda12x. # Our own lmcache is a third source but agrees with this reinstall: its build stage sets # LMCACHE_CUDA_MAJOR from the same CUDA major used here. IFS="." read -r CUDA_MAJOR CUDA_MINOR CUDA_PATCH <<< "${CUDA_VERSION}" PLATLIB="$(python -c 'import sysconfig; print(sysconfig.get_paths()["platlib"])')" CUPY="cupy-cuda${CUDA_MAJOR}x" CUPY_VER="$(uv pip show cupy-cuda13x 2>/dev/null | awk '/^Version:/{print $2}' || true)" uv pip uninstall cupy-cuda12x cupy-cuda13x || true rm -rf "${PLATLIB}"/cupy "${PLATLIB}"/cupyx "${PLATLIB}"/cupy_backends # cupy-cuda12x and cupy-cuda13x share the same version number, so reuse the base's # pinned version and install only the variant matching the CUDA major we build for. # Fail loudly if the base no longer ships cupy, rather than installing an unpinned latest. if [[ -z "${CUPY_VER}" ]]; then echo "cupy-cuda13x not found in base image; refusing to install unpinned cupy" >&2 exit 1 fi uv pip install "${CUPY}==${CUPY_VER}" # Review uv pip show "${CUPY}" # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-08-25 10:19:20 UTC (buildkit.dockerfile.v0)

RUN |10 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # Postprocess # Review uv pip tree \ --package vllm \ --package vllm-omni \ --package flashinfer-python \ --package torch \ --package triton \ --package deep-gemm \ --package deep-ep \ --package lmcache \ --package mooncake-transfer-engine \ --package ray # buildkit

2026-08-25 10:19:21 UTC (buildkit.dockerfile.v0)

RUN |10 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # Patch tree -hs /workspace/patches pushd $(pip show vllm | grep Location: | cut -d" " -f 2) \ && for f in /workspace/patches/vllm/*.patch; do patch -p1 < "$f" || exit 1; done if pip show vllm_omni > /dev/null 2>&1; then \ pushd $(pip show vllm_omni | grep Location: | cut -d" " -f 2) \ && patch -p1 < /workspace/patches/vllm_omni/*.patch; \ fi # buildkit

2026-08-25 10:19:22 UTC (buildkit.dockerfile.v0)

RUN |10 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # Dependencies # Install cat <<EOT >/tmp/requirements.txt # audio extras librosa soundfile mistral_common[audio] # tokenizer extras fastokens==0.2.0 EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-08-25 10:19:22 UTC (buildkit.dockerfile.v0)

ENV RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES=1 SAFETENSORS_FAST_GPU=1 RUNAI_STREAMER_MEMORY_LIMIT=0 RUNAI_STREAMER_LOG_TO_STDERR=1 RUNAI_STREAMER_LOG_LEVEL=INFO

2026-08-25 10:19:22 UTC (buildkit.dockerfile.v0)

WORKDIR /

2026-08-25 10:19:22 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["tini" "--"]

2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -eo pipefail -c]

2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM=linux/amd64

2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c # Give MooncakeConnector the Prometheus registration MultiConnector requires VLLM_DIR="$(python3 -c 'import os, vllm; print(os.path.dirname(vllm.__file__))')" MOONCAKE_DIR="${VLLM_DIR}/distributed/kv_transfer/kv_connector/v1/mooncake" # Refuse to guess at a layout this patch was not written against. test -f "${MOONCAKE_DIR}/stats.py" test -f "${MOONCAKE_DIR}/mooncake_connector.py" # Idempotent: a re-run over an already patched image must not append twice. if grep -q "class MooncakePromMetrics" "${MOONCAKE_DIR}/stats.py"; then echo "[info] MooncakePromMetrics is already present; nothing to append." exit 0 fi cat >>"${MOONCAKE_DIR}/stats.py" <<'PYEOF' from vllm.config import VllmConfig from vllm.distributed.kv_transfer.kv_connector.v1.metrics import ( KVConnectorPromMetrics, PromMetric, PromMetricT, ) from vllm.v1.metrics.utils import create_metric_per_engine class MooncakePromMetrics(KVConnectorPromMetrics): """Prometheus metrics for Mooncake point-to-point KV transfers. Mirrors NixlPromMetrics: the histograms take one observation per recorded transfer, and the counters take a list of 1s, which is the shape MooncakeKVConnectorStats.reset() already produces. The metric names are prefixed `vllm:mooncake_` rather than `vllm:mooncake_store_`, which MooncakeStorePromMetrics owns: the two connectors can be active in the same engine through a MultiConnector, and one namespace for both would merge a direct engine-to-engine transfer with a round trip to the shared store. """ def __init__( self, vllm_config: VllmConfig, metric_types: dict[type[PromMetric], type[PromMetricT]], labelnames: list[str], per_engine_labelvalues: dict[int, list[object]], ): super().__init__(vllm_config, metric_types, labelnames, per_engine_labelvalues) duration_buckets = [ 0.001, 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.2, 0.3, 0.5, 0.75, 1.0, 5.0, ] histogram_xfer_time = self._histogram_cls( name="vllm:mooncake_xfer_time_seconds", documentation="Histogram of transfer duration for Mooncake KV cache transfers.", buckets=duration_buckets, labelnames=labelnames, ) self.histogram_xfer_time = create_metric_per_engine( histogram_xfer_time, self.per_engine_labelvalues ) # Uniform 2KiB to 16GiB range, as NixlPromMetrics uses. byte_buckets = [2 ** (10 + i) for i in range(1, 25, 2)] histogram_bytes_transferred = self._histogram_cls( name="vllm:mooncake_bytes_transferred", documentation="Histogram of bytes transferred per Mooncake KV cache transfer.", buckets=byte_buckets, labelnames=labelnames, ) self.histogram_bytes_transferred = create_metric_per_engine( histogram_bytes_transferred, self.per_engine_labelvalues ) descriptor_buckets = [10, 20, 30, 50, 75, 100, 200, 300, 500, 750, 1000] histogram_num_descriptors = self._histogram_cls( name="vllm:mooncake_num_descriptors", documentation="Histogram of descriptors per Mooncake KV cache transfer.", buckets=descriptor_buckets, labelnames=labelnames, ) self.histogram_num_descriptors = create_metric_per_engine( histogram_num_descriptors, self.per_engine_labelvalues ) counter_num_failed_transfers = self._counter_cls( name="vllm:mooncake_num_failed_transfers", documentation="Number of failed Mooncake KV cache transfers.", labelnames=labelnames, ) self.counter_num_failed_transfers = create_metric_per_engine( counter_num_failed_transfers, self.per_engine_labelvalues ) counter_num_failed_recvs = self._counter_cls( name="vllm:mooncake_num_failed_recvs", documentation="Number of failed Mooncake KV cache receives.", labelnames=labelnames, ) self.counter_num_failed_recvs = create_metric_per_engine( counter_num_failed_recvs, self.per_engine_labelvalues ) counter_num_kv_expired_reqs = self._counter_cls( name="vllm:mooncake_num_kv_expired_reqs", documentation="Number of requests whose Mooncake KV blocks expired.", labelnames=labelnames, ) self.counter_num_kv_expired_reqs = create_metric_per_engine( counter_num_kv_expired_reqs, self.per_engine_labelvalues ) def observe(self, transfer_stats_data: dict[str, Any], engine_idx: int = 0): # A key absent from the payload is skipped rather than raising: the stats # container's key set belongs to the connector and may grow or shrink # between releases, and a metrics path is the wrong place to fail an engine. for prom_obj, key in zip( [ self.histogram_xfer_time, self.histogram_bytes_transferred, self.histogram_num_descriptors, ], ["transfer_duration", "bytes_transferred", "num_descriptors"], ): for list_item in transfer_stats_data.get(key, ()): prom_obj[engine_idx].observe(list_item) for counter_obj, key in zip( [ self.counter_num_failed_transfers, self.counter_num_failed_recvs, self.counter_num_kv_expired_reqs, ], ["num_failed_transfers", "num_failed_recvs", "num_kv_expired_reqs"], ): for list_item in transfer_stats_data.get(key, ()): counter_obj[engine_idx].inc(list_item) PYEOF cat >>"${MOONCAKE_DIR}/mooncake_connector.py" <<'PYEOF' def _build_mooncake_prom_metrics( cls, vllm_config, metric_types, labelnames, per_engine_labelvalues ): # Imported here rather than at module scope: this file already imports from # .stats, and keeping the dependency inside the call leaves the module's # import graph exactly as it was. from vllm.distributed.kv_transfer.kv_connector.v1.mooncake.stats import ( MooncakePromMetrics, ) return MooncakePromMetrics( vllm_config, metric_types, labelnames, per_engine_labelvalues ) # Bound by assignment rather than written into the class body, so that this patch # stays an append and needs no anchor inside a file that differs between releases. MooncakeConnector.build_prom_metrics = classmethod(_build_mooncake_prom_metrics) PYEOF # Assert the patch landed. Both greps are POSITIVE: a negated grep is exempt from # set -e, so the inverted form would pass over a failure. grep -q "class MooncakePromMetrics" "${MOONCAKE_DIR}/stats.py" grep -q "MooncakeConnector.build_prom_metrics = classmethod" "${MOONCAKE_DIR}/mooncake_connector.py" # Import it for real. The greps above prove the text is there; this proves it # parses and that every name it reaches for resolves in this image. python3 -c " from vllm.distributed.kv_transfer.kv_connector.v1.mooncake.stats import MooncakePromMetrics from vllm.distributed.kv_transfer.kv_connector.v1.metrics import KVConnectorPromMetrics assert issubclass(MooncakePromMetrics, KVConnectorPromMetrics) assert MooncakePromMetrics.observe is not KVConnectorPromMetrics.observe print('[info] MooncakePromMetrics imports and overrides observe.') " # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)

WORKDIR /

2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["tini" "--"]

2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -eo pipefail -c]

2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM=linux/amd64

2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)

ARG VLLM_ROUTER_VERSION=0.1.15

2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 VLLM_ROUTER_VERSION=0.1.15 /bin/bash -eo pipefail -c # vLLM Router uv pip install \ vllm-router==${VLLM_ROUTER_VERSION} # Fail the build rather than ship an image whose router is missing: the # alternative surfaces as a container that exits at deploy time, one # layer away from anything that explains it. command -v vllm-router >/dev/null # Review uv pip tree # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)

ARG DEPENDENCY_PACKAGES=diffusers flash-attn flashinfer-python lmcache lmcache-ascend mooncake-transfer-engine-npu mooncake-transfer-engine-rocm mooncake-transfer-engine ray runai-model-streamer sgl-kernel-npu sglang-kernel sglang-router torch torch-musa torch-npu transformers vllm-ascend vllm-metax vllm-musa vllm-omni vllm-router

2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)

RUN |5 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 VLLM_ROUTER_VERSION=0.1.15 DEPENDENCY_PACKAGES=diffusers flash-attn flashinfer-python lmcache lmcache-ascend mooncake-transfer-engine-npu mooncake-transfer-engine-rocm mooncake-transfer-engine ray runai-model-streamer sgl-kernel-npu sglang-kernel sglang-router torch torch-musa torch-npu transformers vllm-ascend vllm-metax vllm-musa vllm-omni vllm-router /bin/bash -eo pipefail -c DEPENDENCY_PACKAGES="${DEPENDENCY_PACKAGES}" bash /tmp/probe_dependencies.sh # buildkit

2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)

WORKDIR /

2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["tini" "--"]

Details
Created

2026-09-20 03:09:45 UTC

Size

10.9 GB

Content Digest
Labels
  • ai.vllm.build.commit
    6e448d0ea9bf3d88d898b65449ca6dc2aec170ac
  • ai.vllm.build.pipeline
    019d130e-464e-4ff7-b84b-492992c0c06b
  • ai.vllm.build.url
    https://buildkite.com/vllm/release-v2/builds/5006
  • ai.vllm.image.tag
    vllm/vllm-openai:v0.27.1-ubuntu2404
  • maintainer
    NVIDIA CORPORATION <cudatools@nvidia.com>
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.revision
    6e448d0ea9bf3d88d898b65449ca6dc2aec170ac
  • org.opencontainers.image.source
    https://github.com/vllm-project/vllm
  • org.opencontainers.image.url
    https://buildkite.com/vllm/release-v2/builds/5006
  • org.opencontainers.image.version
    vllm/vllm-openai:v0.27.1-ubuntu2404

Environment
CUDA_ARCHS

CUDA_HOME

/usr/local/cuda

CUDA_VERSION

13.0.1

DEBIAN_FRONTEND

noninteractive

LANG

en_US.UTF-8

LANGUAGE

en_US:en

LC_ALL

en_US.UTF-8

LD_LIBRARY_PATH

/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64

NVARCH

sbsa

NVIDIA_DRIVER_CAPABILITIES

compute,utility

NVIDIA_REQUIRE_CUDA

cuda>=13.0 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551 brand=unknown,driver>=565,driver<566 brand=grid,driver>=565,driver<566 brand=tesla,driver>=565,driver<566 brand=nvidia,driver>=565,driver<566 brand=quadro,driver>=565,driver<566 brand=quadrortx,driver>=565,driver<566 brand=nvidiartx,driver>=565,driver<566 brand=vapps,driver>=565,driver<566 brand=vpc,driver>=565,driver<566 brand=vcs,driver>=565,driver<566 brand=vws,driver>=565,driver<566 brand=cloudgaming,driver>=565,driver<566 brand=unknown,driver>=570,driver<571 brand=grid,driver>=570,driver<571 brand=tesla,driver>=570,driver<571 brand=nvidia,driver>=570,driver<571 brand=quadro,driver>=570,driver<571 brand=quadrortx,driver>=570,driver<571 brand=nvidiartx,driver>=570,driver<571 brand=vapps,driver>=570,driver<571 brand=vpc,driver>=570,driver<571 brand=vcs,driver>=570,driver<571 brand=vws,driver>=570,driver<571 brand=cloudgaming,driver>=570,driver<571 brand=unknown,driver>=575,driver<576 brand=grid,driver>=575,driver<576 brand=tesla,driver>=575,driver<576 brand=nvidia,driver>=575,driver<576 brand=quadro,driver>=575,driver<576 brand=quadrortx,driver>=575,driver<576 brand=nvidiartx,driver>=575,driver<576 brand=vapps,driver>=575,driver<576 brand=vpc,driver>=575,driver<576 brand=vcs,driver>=575,driver<576 brand=vws,driver>=575,driver<576 brand=cloudgaming,driver>=575,driver<576

NVIDIA_VISIBLE_DEVICES

all

NV_CUDA_CUDART_VERSION

13.0.96-1

PATH

/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PIP_DISABLE_PIP_VERSION_CHECK

1

PIP_NO_CACHE_DIR

1

PIP_ROOT_USER_ACTION

ignore

PYTHON_VERSION

3.12

RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES

1

RUNAI_STREAMER_LOG_LEVEL

INFO

RUNAI_STREAMER_LOG_TO_STDERR

1

RUNAI_STREAMER_MEMORY_LIMIT

0

SAFETENSORS_FAST_GPU

1

TORCH_CUDA_ARCH_LIST

8.0 8.7 8.9 9.0 10.0 11.0 12.0

UV_CACHE_DIR

/opt/uv/cache

UV_HTTP_TIMEOUT

500

UV_INDEX_STRATEGY

unsafe-best-match

UV_LINK_MODE

copy

UV_NO_CACHE

1

UV_OVERRIDE

/etc/uv-overrides.txt

UV_PRERELEASE

allow

UV_PYTHON_INSTALL_DIR

/opt/uv/python

UV_SKIP_WHEEL_FILENAME_CHECK

1

UV_SYSTEM_PYTHON

1

VLLM_BUILD_COMMIT

6e448d0ea9bf3d88d898b65449ca6dc2aec170ac

VLLM_BUILD_PIPELINE

019d130e-464e-4ff7-b84b-492992c0c06b

VLLM_BUILD_URL

https://buildkite.com/vllm/release-v2/builds/5006

VLLM_ENABLE_CUDA_COMPATIBILITY

0

VLLM_IMAGE_TAG

vllm/vllm-openai:v0.27.1-ubuntu2404

VLLM_LMCACHE_VERSION

0.5.4

VLLM_TORCH_CUDA_VERSION

13.0.1

VLLM_TORCH_VERSION

2.13.0

VLLM_USAGE_SOURCE

production-docker-image

VLLM_VERSION

0.27.1


Layers

[#000] sha256:a91ffad96809552eb41208a0a580e75c014311ef2cb79002fb242da7bc6f8801 - 0.26% (28.6 MB)

[#001] sha256:7be1e3dd81adb79f8fbffa3a472a80e4a024b7dedb4028788e15e05c4a7a3946 - 0.04% (4.32 MB)

[#002] sha256:653ca2e1b0e9f4dda5c4101ba798059d34362dfdd0379f1fb2b80f1e48a703df - 0.85% (95.1 MB)

[#003] sha256:66c8341e87a6fcc90cd8b78f232a7707a96e4fbeaff457268bc6d4fdd8bf509a - 0.0% (186 Bytes)

[#004] sha256:526d5438c009ab7178af1646fed10ff6f47a73f5a1ae7b9f49e63e4ade7e3ae6 - 0.0% (6.72 KB)

[#005] sha256:21180691041e8e61861ca43ba2a4d676a9b4ba460fc144466acaa5c15b94468b - 0.0% (104 Bytes)

[#006] sha256:22b23649e782ff9e7ae232ca12f15190b103c7abf8c0b1486de570869cced813 - 0.0% (231 Bytes)

[#007] sha256:121d4232a3e60b8cea66cf3cf0e06f5c1f184f1a9e202f9febb930bb59defbbc - 1.94% (216 MB)

[#008] sha256:b7a1fe577651e13121b49959629ced649aaf61e46eac42229112fff8322a1469 - 13.36% (1.45 GB)

[#009] sha256:d7df7a1efe6cabfb98fce63ec00226f757685011e72b36f2eb38d50437694251 - 0.37% (41.3 MB)

[#010] sha256:3a4c22f185158cf4e7f4dad7edc6227c050860c13f0ab5d1cf8a3407616b884e - 0.0% (151 Bytes)

[#011] sha256:55ec714687d6d511b06e9dd50697eee6b768d74f9b32eca5ef64ea6056f7bccf - 0.0% (164 Bytes)

[#012] sha256:90f38200475bd7c7243b08048841fa1e3f94cb706e483dc9f07078d5c12ba7e8 - 0.0% (3.62 KB)

[#013] sha256:15ed19a825230fbc8309a1ab05afc508f999c4373dd659f1c963710c9268ed98 - 0.0% (2.03 KB)

[#014] sha256:15ed19a825230fbc8309a1ab05afc508f999c4373dd659f1c963710c9268ed98 - 0.0% (2.03 KB)

[#015] sha256:d18e1d27046a7aa368bc2a6c4182239254f07bacd6bcc45bdfdc39eaa7242cb3 - 0.0% (1.62 KB)

[#016] sha256:58a7352b91d31caa46eb966f41fe12f0dc1417bd02df6855131bd66bcc48b50f - 0.0% (871 Bytes)

[#017] sha256:fcf447d7aed5a1da077fd1f91d4efca00d61e33fa3ea917603b074ac33a5e2ba - 40.42% (4.4 GB)

[#018] sha256:081a74cebd48e66492f40f8a93ab4db1f27ac307f997d3a5cf3ce51bd276e0b3 - 14.47% (1.57 GB)

[#019] sha256:5c7799a8b9ce91c521d89bf49d38922ac99e8b988df84d19b2840cbb6c7da2a3 - 0.0% (897 Bytes)

[#020] sha256:3e75fb9a89731ac42b01c99c3303d7ede784f7112a17ca55f2502745eb546087 - 0.0% (518 KB)

[#021] sha256:8160b2f576f79b3050a128749f34f15edcff1e607406c198c072d274dec312f6 - 2.63% (294 MB)

[#022] sha256:ffee07690de9b7eb61e6ca1d05a529af7d9676ad727d0368f73b9ec0bd4ed6a0 - 0.0% (202 Bytes)

[#023] sha256:7ced343a1f0a561ec5c97025668ca5edb4de7bedfd30b53874ea7591fb39d5f0 - 0.0% (228 Bytes)

[#024] sha256:c73fad1723c52ba1d30d71eefe06af45c83a2af6cfdb6169720b12a15be55d06 - 4.48% (499 MB)

[#025] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#026] sha256:ec2f233062e2dfb147b1998b11ae77a54705e50162e114be3d1e038c1c26b41a - 0.0% (253 Bytes)

[#027] sha256:6e44597ec02a77006ea7a5240972ff3793ea5bd71d01110781b5c0de949ce355 - 0.13% (14.1 MB)

[#028] sha256:6fb0d1302af16225a3dce11d1cf9df02b403364794a2e193d8c7082e83a89c56 - 0.0% (262 KB)

[#029] sha256:787590867c7aecd4a5adf3f5c100fd642085cd6090868ec6eb6c4327a618faf1 - 0.0% (272 KB)

[#030] sha256:17576b303566a416a92d5fedbc10d20270461aed6663ed72368ba2ddb2056a30 - 0.0% (9.62 KB)

[#031] sha256:99f666e038c358b5df8c34a8249bc39156bf644ea72357538e15e12179654e73 - 7.51% (837 MB)

[#032] sha256:d0259e3c357c41ecdbeab8b47732d35239754fb49d1fbdd0ba3ea13beba24e7d - 3.81% (425 MB)

[#033] sha256:c1ce83d2502c17910789de56a276966110806d6437f5ad0247cc10ac8a525856 - 0.83% (93 MB)

[#034] sha256:7f2bcbd874d98fb662642b1612d2dcc7ba3f504f5fd753f8aacccfd044e49879 - 0.0% (1.9 KB)

[#035] sha256:99bdf0f7a8b943b5c86e34f36802db6c028d33db7e1dacb90dfb38ceb0fb439a - 0.28% (30.7 MB)

[#036] sha256:de815fdb6a45f1663366e5deb745d967c5ce3b26e0b00ba9e55ded2eb07412e5 - 1.93% (215 MB)

[#037] sha256:04cf79ffe4b7a11774428a2ae8d61729fdeae9281d5a78bd1ce00a39cb45536e - 3.58% (400 MB)

[#038] sha256:0ca7cb9ac7166989549f1acfe4c994ad4bec69e9c7f5ed28450db1c43401b4d7 - 2.04% (227 MB)

[#039] sha256:9cfabe07b21b56d8b6b7ac3b8ac0ceaf76afb47bb9cd2efb314ddfd42cfc7ad5 - 0.62% (69.1 MB)

[#040] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#041] sha256:b7d0e5a43f185e33bb9e9c2e40ae28d91eb24b635982aedb2734e500d4f49158 - 0.0% (36.3 KB)

[#042] sha256:d7ac19f73086ddfd6954ffb398178d850089631c3e0fca619c023350d55c553d - 0.11% (12.2 MB)

[#043] sha256:d5f115361a997d1d806dee7688d9bb71c01d6187a28fbb87d814fb404fa9ecae - 0.27% (29.5 MB)

[#044] sha256:5c2e0da30d9c01e4dc57ad2ac3ddc69a95cccb54e17da170951e448f1ce7945e - 0.07% (8.1 MB)

[#045] sha256:399e570da5d1dd7f03e00ed98bbe39dd680e893d4db456f2558caf39812014e2 - 0.0% (349 Bytes)


History
2025-10-01 13:01:38 UTC

/bin/sh -c #(nop) ARG RELEASE

2025-10-01 13:01:38 UTC

/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH

2025-10-01 13:01:38 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu

2025-10-01 13:01:38 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04

2025-10-01 13:01:40 UTC

/bin/sh -c #(nop) ADD file:d77dea5c49828eb0de89439d2b631bc8ea27cb9ef774412b56a060ba1673487b in /

2025-10-01 13:01:40 UTC

/bin/sh -c #(nop) CMD ["/bin/bash"]

2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)

ENV NVARCH=sbsa

2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_REQUIRE_CUDA=cuda>=13.0 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551 brand=unknown,driver>=565,driver<566 brand=grid,driver>=565,driver<566 brand=tesla,driver>=565,driver<566 brand=nvidia,driver>=565,driver<566 brand=quadro,driver>=565,driver<566 brand=quadrortx,driver>=565,driver<566 brand=nvidiartx,driver>=565,driver<566 brand=vapps,driver>=565,driver<566 brand=vpc,driver>=565,driver<566 brand=vcs,driver>=565,driver<566 brand=vws,driver>=565,driver<566 brand=cloudgaming,driver>=565,driver<566 brand=unknown,driver>=570,driver<571 brand=grid,driver>=570,driver<571 brand=tesla,driver>=570,driver<571 brand=nvidia,driver>=570,driver<571 brand=quadro,driver>=570,driver<571 brand=quadrortx,driver>=570,driver<571 brand=nvidiartx,driver>=570,driver<571 brand=vapps,driver>=570,driver<571 brand=vpc,driver>=570,driver<571 brand=vcs,driver>=570,driver<571 brand=vws,driver>=570,driver<571 brand=cloudgaming,driver>=570,driver<571 brand=unknown,driver>=575,driver<576 brand=grid,driver>=575,driver<576 brand=tesla,driver>=575,driver<576 brand=nvidia,driver>=575,driver<576 brand=quadro,driver>=575,driver<576 brand=quadrortx,driver>=575,driver<576 brand=nvidiartx,driver>=575,driver<576 brand=vapps,driver>=575,driver<576 brand=vpc,driver>=575,driver<576 brand=vcs,driver>=575,driver<576 brand=vws,driver>=575,driver<576 brand=cloudgaming,driver>=575,driver<576

2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)

ENV NV_CUDA_CUDART_VERSION=13.0.96-1

2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH

2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com>

2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gnupg2 curl ca-certificates && curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/${NVARCH}/3bf863cc.pub | apt-key add - && echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/${NVARCH} /" > /etc/apt/sources.list.d/cuda.list && apt-get purge --autoremove -y curl && rm -rf /var/lib/apt/lists/* # buildkit

2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)

ENV CUDA_VERSION=13.0.2

2025-10-10 16:59:52 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cuda-cudart-13-0=${NV_CUDA_CUDART_VERSION} cuda-compat-13-0 && rm -rf /var/lib/apt/lists/* # buildkit

2025-10-10 16:59:52 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c echo "/usr/local/cuda/lib64" >> /etc/ld.so.conf.d/nvidia.conf # buildkit

2025-10-10 16:59:52 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-10-10 16:59:52 UTC (buildkit.dockerfile.v0)

ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64

2025-10-10 16:59:53 UTC (buildkit.dockerfile.v0)

COPY NGC-DL-CONTAINER-LICENSE / # buildkit

2025-10-10 16:59:53 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_VISIBLE_DEVICES=all

2025-10-10 16:59:53 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility

2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)

ARG CUDA_VERSION

2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)

ARG PYTHON_VERSION

2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)

ARG NCCL_VERSION

2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)

ARG DEADSNAKES_MIRROR_URL

2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)

ARG DEADSNAKES_GPGKEY_URL

2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)

ARG GET_PIP_URL

2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)

WORKDIR /vllm-workspace

2026-08-11 09:03:28 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c PYTHON_VERSION_STR=$(echo ${PYTHON_VERSION} | sed 's/\.//g') && echo "export PYTHON_VERSION_STR=${PYTHON_VERSION_STR}" >> /etc/environment # buildkit

2026-08-11 09:04:33 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c apt-get update -y && apt-get install -y --no-install-recommends software-properties-common curl sudo ffmpeg libsm6 libxext6 libgl1 && if [ ! -z ${DEADSNAKES_MIRROR_URL} ] ; then if [ ! -z "${DEADSNAKES_GPGKEY_URL}" ] ; then mkdir -p -m 0755 /etc/apt/keyrings ; curl -L ${DEADSNAKES_GPGKEY_URL} | gpg --dearmor > /etc/apt/keyrings/deadsnakes.gpg ; sudo chmod 644 /etc/apt/keyrings/deadsnakes.gpg ; echo "deb [signed-by=/etc/apt/keyrings/deadsnakes.gpg] ${DEADSNAKES_MIRROR_URL} $(lsb_release -cs) main" > /etc/apt/sources.list.d/deadsnakes.list ; fi ; else for i in 1 2 3; do add-apt-repository -y ppa:deadsnakes/ppa && break || { echo "Attempt $i failed, retrying in 5s..."; sleep 5; }; done ; fi && apt-get update -y && apt-get install -y --no-install-recommends python${PYTHON_VERSION} python${PYTHON_VERSION}-dev python${PYTHON_VERSION}-venv libibverbs-dev && rm -rf /var/lib/apt/lists/* && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 && update-alternatives --set python3 /usr/bin/python${PYTHON_VERSION} && ln -sf /usr/bin/python${PYTHON_VERSION}-config /usr/bin/python3-config && rm -f /usr/lib/python${PYTHON_VERSION}/EXTERNALLY-MANAGED && curl -sS ${GET_PIP_URL} | python${PYTHON_VERSION} && python3 --version && python3 -m pip --version # buildkit

2026-08-11 09:05:15 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c CUDA_VERSION_DASH=$(echo $CUDA_VERSION | cut -d. -f1,2 | tr '.' '-') && apt-get update -y && apt-get install -y --no-install-recommends --allow-change-held-packages cuda-nvcc-${CUDA_VERSION_DASH} cuda-cudart-${CUDA_VERSION_DASH} cuda-nvrtc-${CUDA_VERSION_DASH} cuda-cuobjdump-${CUDA_VERSION_DASH} libcurand-dev-${CUDA_VERSION_DASH} libcublas-dev-${CUDA_VERSION_DASH} libnuma-dev numactl && rm -rf /var/lib/apt/lists/* # buildkit

2026-08-11 09:05:19 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c python3 -m pip install uv # buildkit

2026-08-11 09:05:19 UTC (buildkit.dockerfile.v0)

ENV UV_HTTP_TIMEOUT=500

2026-08-11 09:05:19 UTC (buildkit.dockerfile.v0)

ENV UV_INDEX_STRATEGY=unsafe-best-match

2026-08-11 09:05:19 UTC (buildkit.dockerfile.v0)

ENV UV_LINK_MODE=copy

2026-08-11 09:05:19 UTC (buildkit.dockerfile.v0)

ENV UV_PYTHON_INSTALL_DIR=/opt/uv/python

2026-08-11 09:05:19 UTC (buildkit.dockerfile.v0)

ENV UV_CACHE_DIR=/opt/uv/cache

2026-08-11 09:05:20 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c mkdir -p "${UV_PYTHON_INSTALL_DIR}" "${UV_CACHE_DIR}" && chgrp -R 0 /opt/uv && chmod -R g+rwX,a+rX /opt/uv # buildkit

2026-08-11 09:05:21 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c CUDA_MAJOR=$(echo $CUDA_VERSION | cut -d. -f1) && if [ -n "$NCCL_VERSION" ]; then echo "nvidia-nccl-cu${CUDA_MAJOR}==${NCCL_VERSION}" > /etc/uv-overrides.txt; else touch /etc/uv-overrides.txt; fi # buildkit

2026-08-11 09:05:21 UTC (buildkit.dockerfile.v0)

ENV UV_OVERRIDE=/etc/uv-overrides.txt

2026-08-11 09:05:28 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c useradd --uid 2000 --gid 0 --create-home --home-dir /home/vllm --shell /bin/bash vllm && mkdir -p /home/vllm/.cache /home/vllm/.config && chown -R 2000:0 /home/vllm && chmod -R g+rwX /home/vllm && chgrp 0 /etc/passwd /etc/group && chmod g=u /etc/passwd /etc/group # buildkit

2026-08-11 09:05:32 UTC (buildkit.dockerfile.v0)

COPY docker/entrypoints/vllm-nonroot-entrypoint.sh /usr/local/bin/vllm-nonroot-entrypoint.sh # buildkit

2026-08-11 09:05:33 UTC (buildkit.dockerfile.v0)

RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c chmod 0755 /usr/local/bin/vllm-nonroot-entrypoint.sh # buildkit

2026-08-11 09:05:33 UTC (buildkit.dockerfile.v0)

ENV VLLM_ENABLE_CUDA_COMPATIBILITY=0

2026-08-11 09:05:33 UTC (buildkit.dockerfile.v0)

ARG PYTORCH_CUDA_INDEX_BASE_URL

2026-08-11 09:05:33 UTC (buildkit.dockerfile.v0)

COPY requirements/common.txt /tmp/common.txt # buildkit

2026-08-11 09:05:33 UTC (buildkit.dockerfile.v0)

COPY requirements/cuda.txt /tmp/requirements-cuda.txt # buildkit

2026-08-11 09:05:52 UTC (buildkit.dockerfile.v0)

RUN |7 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl /bin/sh -c if [ "$(echo $CUDA_VERSION | cut -d. -f1)" = "12" ]; then sed -i 's/^nvidia-cutlass-dsl\[cu13\]/nvidia-cutlass-dsl/' /tmp/requirements-cuda.txt; sed -i 's/^humming-kernels\[cu13\]/humming-kernels[cu12]/' /tmp/requirements-cuda.txt; fi && uv pip install --system -r /tmp/requirements-cuda.txt --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') && rm /tmp/requirements-cuda.txt /tmp/common.txt # buildkit

2026-08-11 09:05:52 UTC (buildkit.dockerfile.v0)

ARG FLASHINFER_VERSION=0.6.16.post3

2026-08-11 09:06:10 UTC (buildkit.dockerfile.v0)

RUN |8 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 /bin/sh -c uv pip install --system flashinfer-jit-cache==${FLASHINFER_VERSION} --index-url https://flashinfer.ai/whl/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') # buildkit

2026-08-11 09:06:10 UTC (buildkit.dockerfile.v0)

ARG GDRCOPY_CUDA_VERSION=12.8

2026-08-11 09:06:10 UTC (buildkit.dockerfile.v0)

ARG GDRCOPY_OS_VERSION=Ubuntu22_04

2026-08-11 09:06:10 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM

2026-08-11 09:06:10 UTC (buildkit.dockerfile.v0)

COPY tools/install_gdrcopy.sh /tmp/install_gdrcopy.sh # buildkit

2026-08-11 09:06:16 UTC (buildkit.dockerfile.v0)

RUN |11 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/arm64 /bin/sh -c set -eux; case "${TARGETPLATFORM}" in linux/arm64) UUARCH="aarch64" ;; linux/amd64) UUARCH="x64" ;; *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" >&2; exit 1 ;; esac; /tmp/install_gdrcopy.sh "${GDRCOPY_OS_VERSION}" "${GDRCOPY_CUDA_VERSION}" "${UUARCH}" && rm /tmp/install_gdrcopy.sh # buildkit

2026-08-11 09:06:16 UTC (buildkit.dockerfile.v0)

ARG BITSANDBYTES_VERSION_X86=0.46.1

2026-08-11 09:06:16 UTC (buildkit.dockerfile.v0)

ARG BITSANDBYTES_VERSION_ARM64=0.42.0

2026-08-11 09:06:16 UTC (buildkit.dockerfile.v0)

ARG TIMM_VERSION=>=1.0.17

2026-08-11 09:06:16 UTC (buildkit.dockerfile.v0)

ARG RUNAI_MODEL_STREAMER_VERSION=>=0.15.7

2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)

RUN |15 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/arm64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 /bin/sh -c if [ "$TARGETPLATFORM" = "linux/arm64" ]; then BITSANDBYTES_VERSION="${BITSANDBYTES_VERSION_ARM64}"; else BITSANDBYTES_VERSION="${BITSANDBYTES_VERSION_X86}"; fi; uv pip install --system accelerate 'modelscope<1.38' "bitsandbytes>=${BITSANDBYTES_VERSION}" "timm${TIMM_VERSION}" "runai-model-streamer[s3,gcs,azure]${RUNAI_MODEL_STREAMER_VERSION}" # buildkit

2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)

ARG PIP_INDEX_URL UV_INDEX_URL

2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)

ARG PIP_EXTRA_INDEX_URL UV_EXTRA_INDEX_URL

2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)

ARG PYTORCH_CUDA_INDEX_BASE_URL

2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)

ARG PIP_KEYRING_PROVIDER UV_KEYRING_PROVIDER

2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)

ARG PYTORCH_NIGHTLY

2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)

COPY /workspace/torch_lib_versions.txt torch_lib_versions.txt # buildkit

2026-08-11 09:20:08 UTC (buildkit.dockerfile.v0)

COPY /workspace/dist/wheel.sha256 /tmp/vllm-wheel.sha256 # buildkit

2026-08-11 09:20:12 UTC (buildkit.dockerfile.v0)

RUN |23 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/arm64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl PIP_KEYRING_PROVIDER=disabled UV_KEYRING_PROVIDER=disabled PYTORCH_NIGHTLY= /bin/sh -c if [ "${PYTORCH_NIGHTLY}" = "1" ]; then echo "Installing torch nightly..." && uv pip install --system $(cat torch_lib_versions.txt | xargs) --pre --index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') && echo "Installing vLLM..." && uv pip install --system dist/*.whl --verbose --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); else echo "Installing vLLM..." && uv pip install --system dist/*.whl --verbose --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); fi # buildkit

2026-08-11 09:20:12 UTC (buildkit.dockerfile.v0)

RUN |23 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/arm64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl PIP_KEYRING_PROVIDER=disabled UV_KEYRING_PROVIDER=disabled PYTORCH_NIGHTLY= /bin/sh -c . /etc/environment && uv pip list # buildkit

2026-08-11 09:20:12 UTC (buildkit.dockerfile.v0)

ENV LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64

2026-08-11 09:20:12 UTC (buildkit.dockerfile.v0)

COPY /tmp/ep_kernels_workspace/dist/wheels.sha256 /tmp/ep-kernels-wheels.sha256 # buildkit

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

RUN |23 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/arm64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl PIP_KEYRING_PROVIDER=disabled UV_KEYRING_PROVIDER=disabled PYTORCH_NIGHTLY= /bin/sh -c uv pip install --system ep_kernels/dist/*.whl --verbose --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') # buildkit

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

COPY examples examples # buildkit

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

COPY benchmarks benchmarks # buildkit

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

COPY ./vllm/collect_env.py . # buildkit

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ARG INSTALL_KV_CONNECTORS=false

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ARG CUDA_VERSION

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ARG VLLM_BUILD_COMMIT

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ARG VLLM_BUILD_PIPELINE

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ARG VLLM_BUILD_URL

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ARG VLLM_IMAGE_TAG

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ARG PIP_INDEX_URL UV_INDEX_URL

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ARG PIP_EXTRA_INDEX_URL UV_EXTRA_INDEX_URL

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ENV UV_HTTP_TIMEOUT=500

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ARG torch_cuda_arch_list=7.5 8.0 8.6 8.9 9.0 10.0 11.0 12.0

2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)

ENV TORCH_CUDA_ARCH_LIST=8.0 8.7 8.9 9.0 10.0 11.0 12.0

2026-08-11 09:23:54 UTC (buildkit.dockerfile.v0)

RUN |12 TARGETPLATFORM=linux/arm64 INSTALL_KV_CONNECTORS=true CUDA_VERSION=13.0.2 VLLM_BUILD_COMMIT=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac VLLM_BUILD_PIPELINE=019d130e-464e-4ff7-b84b-492992c0c06b VLLM_BUILD_URL=https://buildkite.com/vllm/release-v2/builds/5006 VLLM_IMAGE_TAG=vllm/vllm-openai:v0.27.1-ubuntu2404 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= torch_cuda_arch_list=8.0 8.7 8.9 9.0 10.0 11.0 12.0 /bin/sh -c CUDA_MAJOR="${CUDA_VERSION%%.*}"; CUDA_VERSION_DASH=$(echo $CUDA_VERSION | cut -d. -f1,2 | tr '.' '-'); CUDA_HOME=/usr/local/cuda; BUILD_PKGS="libcusparse-dev-${CUDA_VERSION_DASH} libcublas-dev-${CUDA_VERSION_DASH} libcusolver-dev-${CUDA_VERSION_DASH}"; if [ "$INSTALL_KV_CONNECTORS" = "true" ]; then uv pip install --system -r /tmp/kv_connectors.txt --no-build || ( apt-get update -y && apt-get install -y --no-install-recommends --allow-change-held-packages ${BUILD_PKGS} && uv pip install --system -r /tmp/kv_connectors.txt --no-build-isolation && apt-get purge -y ${BUILD_PKGS} && rm -rf /var/lib/apt/lists/* ); uv pip install --system --force-reinstall --no-deps nixl-cu${CUDA_MAJOR}; fi # buildkit

2026-08-11 09:23:54 UTC (buildkit.dockerfile.v0)

ARG MOONCAKE_WHEEL_AARCH64

2026-08-11 09:23:54 UTC (buildkit.dockerfile.v0)

ARG MOONCAKE_WHEEL_X86_64

2026-08-11 09:24:03 UTC (buildkit.dockerfile.v0)

RUN |14 TARGETPLATFORM=linux/arm64 INSTALL_KV_CONNECTORS=true CUDA_VERSION=13.0.2 VLLM_BUILD_COMMIT=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac VLLM_BUILD_PIPELINE=019d130e-464e-4ff7-b84b-492992c0c06b VLLM_BUILD_URL=https://buildkite.com/vllm/release-v2/builds/5006 VLLM_IMAGE_TAG=vllm/vllm-openai:v0.27.1-ubuntu2404 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= torch_cuda_arch_list=8.0 8.7 8.9 9.0 10.0 11.0 12.0 MOONCAKE_WHEEL_AARCH64=https://vllm-wheels.s3.amazonaws.com/mooncake/mooncake_transfer_engine-0.3.10.post2-0da9dfea3-cp312-cp312-manylinux_2_39_aarch64.whl MOONCAKE_WHEEL_X86_64=https://vllm-wheels.s3.amazonaws.com/mooncake/mooncake_transfer_engine-0.3.10.post2-0da9dfea3-cp312-cp312-manylinux_2_35_x86_64.whl /bin/sh -c if [ "$INSTALL_KV_CONNECTORS" = "true" ]; then if [ "$TARGETPLATFORM" = "linux/arm64" ]; then WHEEL="${MOONCAKE_WHEEL_AARCH64}"; else WHEEL="${MOONCAKE_WHEEL_X86_64}"; fi && if [ -n "${WHEEL}" ]; then uv pip install --system "${WHEEL}" && CUDA_MAJOR="${CUDA_VERSION%%.*}" && if [ ! -f /usr/local/cuda/lib64/libcudart.so ] && [ -f "/usr/local/cuda/lib64/libcudart.so.${CUDA_MAJOR}" ]; then ln -s "libcudart.so.${CUDA_MAJOR}" /usr/local/cuda/lib64/libcudart.so; fi; fi; fi # buildkit

2026-08-11 09:24:03 UTC (buildkit.dockerfile.v0)

ENV VLLM_USAGE_SOURCE=production-docker-image

2026-08-11 09:24:03 UTC (buildkit.dockerfile.v0)

ENV VLLM_BUILD_COMMIT=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac VLLM_BUILD_PIPELINE=019d130e-464e-4ff7-b84b-492992c0c06b VLLM_BUILD_URL=https://buildkite.com/vllm/release-v2/builds/5006 VLLM_IMAGE_TAG=vllm/vllm-openai:v0.27.1-ubuntu2404

2026-08-11 09:24:03 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/vllm-project/vllm org.opencontainers.image.revision=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac org.opencontainers.image.version=vllm/vllm-openai:v0.27.1-ubuntu2404 org.opencontainers.image.url=https://buildkite.com/vllm/release-v2/builds/5006 ai.vllm.build.commit=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac ai.vllm.build.pipeline=019d130e-464e-4ff7-b84b-492992c0c06b ai.vllm.build.url=https://buildkite.com/vllm/release-v2/builds/5006 ai.vllm.image.tag=vllm/vllm-openai:v0.27.1-ubuntu2404

2026-08-11 09:24:03 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["vllm" "serve"]

2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -eo pipefail -c]

2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM=linux/arm64

2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8

2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 /bin/bash -eo pipefail -c # Tools # Refresh apt-get update -y && apt-get install -y --no-install-recommends \ software-properties-common apt-transport-https \ ca-certificates gnupg2 lsb-release gnupg-agent \ && apt-get update -y # Install apt-get install -y --no-install-recommends \ ca-certificates build-essential binutils bash openssl \ curl wget aria2 \ git git-lfs \ unzip xz-utils \ tzdata locales \ iproute2 iputils-ping ifstat net-tools dnsutils pciutils ipmitool \ rdma-core rdmacm-utils infiniband-diags \ procps sysstat htop \ tini vim jq bc tree # Update locale localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 # Update timezone rm -f /etc/localtime \ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone \ && dpkg-reconfigure --frontend noninteractive tzdata # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* \ && rm -rf /var/cache/apt # buildkit

2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)

ARG PYTHON_VERSION=3.12

2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12

2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 /bin/bash -eo pipefail -c # Python # Update alternatives if ! command -v python >/dev/null 2>&1 \ && command -v python${PYTHON_VERSION} >/dev/null 2>&1; then update-alternatives --install /usr/bin/python python $(which python${PYTHON_VERSION}) 1 fi # buildkit

2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)

ENV PIP_NO_CACHE_DIR=1 PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 /bin/bash -eo pipefail -c # Buildkit cat <<EOT >/tmp/requirements.txt build cmake<4 wheel pybind11<3 Cython EOT pip install -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

ARG CUDA_VERSION=13.0.1

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

ARG CUDA_ARCHS

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

ENV CUDA_HOME=/usr/local/cuda CUDA_VERSION=13.0.1 CUDA_ARCHS=

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

ENV UV_SYSTEM_PYTHON=1 UV_PRERELEASE=allow UV_SKIP_WHEEL_FILENAME_CHECK=1 UV_NO_CACHE=1 UV_HTTP_TIMEOUT=500 UV_INDEX_STRATEGY=unsafe-best-match

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

ARG VLLM_VERSION=0.27.1

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

ARG VLLM_TORCH_VERSION=2.13.0

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

ARG VLLM_TORCH_CUDA_VERSION=13.0.1

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

ENV VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -eo pipefail -c]

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM=linux/arm64

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-08-14 07:58:46 UTC (buildkit.dockerfile.v0)

RUN |9 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 /bin/bash -eo pipefail -c # Ray # Install Ray Client and Default. # Pinned to 2.54.0: ray 2.55 (ray-project/ray#61029) breaks distributed # ray.init when the driver has no co-located raylet (gpustack split containers). RAY_VERSION=2.54.0 cat <<EOT >/tmp/requirements.txt ray[cgraph]==${RAY_VERSION} ray[client]==${RAY_VERSION} ray[default]==${RAY_VERSION} EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-08-14 07:59:16 UTC (buildkit.dockerfile.v0)

RUN |9 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 /bin/bash -eo pipefail -c # Omni if [[ ! -d /omni/workspace ]]; then echo "Skipping vLLM Omni installation for ${TARGETARCH}..." exit 0 fi # Install uv pip install --no-build-isolation \ /omni/workspace/*.whl # Dependencies cat <<EOT >/tmp/requirements.txt onnxruntime sox EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-08-14 07:59:16 UTC (buildkit.dockerfile.v0)

ARG VLLM_LMCACHE_VERSION=0.5.4

2026-08-14 07:59:16 UTC (buildkit.dockerfile.v0)

ENV VLLM_LMCACHE_VERSION=0.5.4

2026-08-25 10:18:15 UTC (buildkit.dockerfile.v0)

RUN |10 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # LMCache # Install ## Replaces the base's own lmcache —— see the note on VLLM_LMCACHE_VERSION. Must run before ## the CuPy dedup below, since lmcache declares a CUDA-major-specific cupy variant. uv pip install --no-build-isolation \ /lmcache/workspace/*.whl # Review uv pip show lmcache ## Fail here on a torch ABI mismatch: lmcache itself only WARNs and falls back to its slow ## torch baseline. RTLD_NOW resolves all symbols without module init, so this needs no GPU. cat <<EOT >/tmp/check_lmcache.py import ctypes, glob, os, sysconfig, torch platlib = sysconfig.get_paths()["platlib"] sos = glob.glob(platlib + "/lmcache/*.so") assert sos, "no lmcache extension found under " + platlib for so in sos: ctypes.CDLL(so, mode=os.RTLD_NOW) print("lmcache resolved against torch " + torch.__version__ + ": " + ", ".join(sos)) EOT python /tmp/check_lmcache.py # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-08-25 10:18:20 UTC (buildkit.dockerfile.v0)

RUN |10 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # CuPy # ray[cgraph] pulls cupy-cuda12x while the base already ships cupy-cuda13x; both share # the same cupy/ tree, so uninstalling one breaks the other. Purge both, then reinstall # the CUDA-matching variant at the version vLLM pinned in the base (its cupy-cuda13x), # so cu129 also gets that pinned version instead of ray's unconstrained cupy-cuda12x. # Our own lmcache is a third source but agrees with this reinstall: its build stage sets # LMCACHE_CUDA_MAJOR from the same CUDA major used here. IFS="." read -r CUDA_MAJOR CUDA_MINOR CUDA_PATCH <<< "${CUDA_VERSION}" PLATLIB="$(python -c 'import sysconfig; print(sysconfig.get_paths()["platlib"])')" CUPY="cupy-cuda${CUDA_MAJOR}x" CUPY_VER="$(uv pip show cupy-cuda13x 2>/dev/null | awk '/^Version:/{print $2}' || true)" uv pip uninstall cupy-cuda12x cupy-cuda13x || true rm -rf "${PLATLIB}"/cupy "${PLATLIB}"/cupyx "${PLATLIB}"/cupy_backends # cupy-cuda12x and cupy-cuda13x share the same version number, so reuse the base's # pinned version and install only the variant matching the CUDA major we build for. # Fail loudly if the base no longer ships cupy, rather than installing an unpinned latest. if [[ -z "${CUPY_VER}" ]]; then echo "cupy-cuda13x not found in base image; refusing to install unpinned cupy" >&2 exit 1 fi uv pip install "${CUPY}==${CUPY_VER}" # Review uv pip show "${CUPY}" # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-08-25 10:18:20 UTC (buildkit.dockerfile.v0)

RUN |10 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # Postprocess # Review uv pip tree \ --package vllm \ --package vllm-omni \ --package flashinfer-python \ --package torch \ --package triton \ --package deep-gemm \ --package deep-ep \ --package lmcache \ --package mooncake-transfer-engine \ --package ray # buildkit

2026-08-25 10:18:21 UTC (buildkit.dockerfile.v0)

RUN |10 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # Patch tree -hs /workspace/patches pushd $(pip show vllm | grep Location: | cut -d" " -f 2) \ && for f in /workspace/patches/vllm/*.patch; do patch -p1 < "$f" || exit 1; done if pip show vllm_omni > /dev/null 2>&1; then \ pushd $(pip show vllm_omni | grep Location: | cut -d" " -f 2) \ && patch -p1 < /workspace/patches/vllm_omni/*.patch; \ fi # buildkit

2026-08-25 10:18:23 UTC (buildkit.dockerfile.v0)

RUN |10 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # Dependencies # Install cat <<EOT >/tmp/requirements.txt # audio extras librosa soundfile mistral_common[audio] # tokenizer extras fastokens==0.2.0 EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-08-25 10:18:23 UTC (buildkit.dockerfile.v0)

ENV RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES=1 SAFETENSORS_FAST_GPU=1 RUNAI_STREAMER_MEMORY_LIMIT=0 RUNAI_STREAMER_LOG_TO_STDERR=1 RUNAI_STREAMER_LOG_LEVEL=INFO

2026-08-25 10:18:23 UTC (buildkit.dockerfile.v0)

WORKDIR /

2026-08-25 10:18:23 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["tini" "--"]

2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -eo pipefail -c]

2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM=linux/arm64

2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 /bin/bash -eo pipefail -c # Give MooncakeConnector the Prometheus registration MultiConnector requires VLLM_DIR="$(python3 -c 'import os, vllm; print(os.path.dirname(vllm.__file__))')" MOONCAKE_DIR="${VLLM_DIR}/distributed/kv_transfer/kv_connector/v1/mooncake" # Refuse to guess at a layout this patch was not written against. test -f "${MOONCAKE_DIR}/stats.py" test -f "${MOONCAKE_DIR}/mooncake_connector.py" # Idempotent: a re-run over an already patched image must not append twice. if grep -q "class MooncakePromMetrics" "${MOONCAKE_DIR}/stats.py"; then echo "[info] MooncakePromMetrics is already present; nothing to append." exit 0 fi cat >>"${MOONCAKE_DIR}/stats.py" <<'PYEOF' from vllm.config import VllmConfig from vllm.distributed.kv_transfer.kv_connector.v1.metrics import ( KVConnectorPromMetrics, PromMetric, PromMetricT, ) from vllm.v1.metrics.utils import create_metric_per_engine class MooncakePromMetrics(KVConnectorPromMetrics): """Prometheus metrics for Mooncake point-to-point KV transfers. Mirrors NixlPromMetrics: the histograms take one observation per recorded transfer, and the counters take a list of 1s, which is the shape MooncakeKVConnectorStats.reset() already produces. The metric names are prefixed `vllm:mooncake_` rather than `vllm:mooncake_store_`, which MooncakeStorePromMetrics owns: the two connectors can be active in the same engine through a MultiConnector, and one namespace for both would merge a direct engine-to-engine transfer with a round trip to the shared store. """ def __init__( self, vllm_config: VllmConfig, metric_types: dict[type[PromMetric], type[PromMetricT]], labelnames: list[str], per_engine_labelvalues: dict[int, list[object]], ): super().__init__(vllm_config, metric_types, labelnames, per_engine_labelvalues) duration_buckets = [ 0.001, 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.2, 0.3, 0.5, 0.75, 1.0, 5.0, ] histogram_xfer_time = self._histogram_cls( name="vllm:mooncake_xfer_time_seconds", documentation="Histogram of transfer duration for Mooncake KV cache transfers.", buckets=duration_buckets, labelnames=labelnames, ) self.histogram_xfer_time = create_metric_per_engine( histogram_xfer_time, self.per_engine_labelvalues ) # Uniform 2KiB to 16GiB range, as NixlPromMetrics uses. byte_buckets = [2 ** (10 + i) for i in range(1, 25, 2)] histogram_bytes_transferred = self._histogram_cls( name="vllm:mooncake_bytes_transferred", documentation="Histogram of bytes transferred per Mooncake KV cache transfer.", buckets=byte_buckets, labelnames=labelnames, ) self.histogram_bytes_transferred = create_metric_per_engine( histogram_bytes_transferred, self.per_engine_labelvalues ) descriptor_buckets = [10, 20, 30, 50, 75, 100, 200, 300, 500, 750, 1000] histogram_num_descriptors = self._histogram_cls( name="vllm:mooncake_num_descriptors", documentation="Histogram of descriptors per Mooncake KV cache transfer.", buckets=descriptor_buckets, labelnames=labelnames, ) self.histogram_num_descriptors = create_metric_per_engine( histogram_num_descriptors, self.per_engine_labelvalues ) counter_num_failed_transfers = self._counter_cls( name="vllm:mooncake_num_failed_transfers", documentation="Number of failed Mooncake KV cache transfers.", labelnames=labelnames, ) self.counter_num_failed_transfers = create_metric_per_engine( counter_num_failed_transfers, self.per_engine_labelvalues ) counter_num_failed_recvs = self._counter_cls( name="vllm:mooncake_num_failed_recvs", documentation="Number of failed Mooncake KV cache receives.", labelnames=labelnames, ) self.counter_num_failed_recvs = create_metric_per_engine( counter_num_failed_recvs, self.per_engine_labelvalues ) counter_num_kv_expired_reqs = self._counter_cls( name="vllm:mooncake_num_kv_expired_reqs", documentation="Number of requests whose Mooncake KV blocks expired.", labelnames=labelnames, ) self.counter_num_kv_expired_reqs = create_metric_per_engine( counter_num_kv_expired_reqs, self.per_engine_labelvalues ) def observe(self, transfer_stats_data: dict[str, Any], engine_idx: int = 0): # A key absent from the payload is skipped rather than raising: the stats # container's key set belongs to the connector and may grow or shrink # between releases, and a metrics path is the wrong place to fail an engine. for prom_obj, key in zip( [ self.histogram_xfer_time, self.histogram_bytes_transferred, self.histogram_num_descriptors, ], ["transfer_duration", "bytes_transferred", "num_descriptors"], ): for list_item in transfer_stats_data.get(key, ()): prom_obj[engine_idx].observe(list_item) for counter_obj, key in zip( [ self.counter_num_failed_transfers, self.counter_num_failed_recvs, self.counter_num_kv_expired_reqs, ], ["num_failed_transfers", "num_failed_recvs", "num_kv_expired_reqs"], ): for list_item in transfer_stats_data.get(key, ()): counter_obj[engine_idx].inc(list_item) PYEOF cat >>"${MOONCAKE_DIR}/mooncake_connector.py" <<'PYEOF' def _build_mooncake_prom_metrics( cls, vllm_config, metric_types, labelnames, per_engine_labelvalues ): # Imported here rather than at module scope: this file already imports from # .stats, and keeping the dependency inside the call leaves the module's # import graph exactly as it was. from vllm.distributed.kv_transfer.kv_connector.v1.mooncake.stats import ( MooncakePromMetrics, ) return MooncakePromMetrics( vllm_config, metric_types, labelnames, per_engine_labelvalues ) # Bound by assignment rather than written into the class body, so that this patch # stays an append and needs no anchor inside a file that differs between releases. MooncakeConnector.build_prom_metrics = classmethod(_build_mooncake_prom_metrics) PYEOF # Assert the patch landed. Both greps are POSITIVE: a negated grep is exempt from # set -e, so the inverted form would pass over a failure. grep -q "class MooncakePromMetrics" "${MOONCAKE_DIR}/stats.py" grep -q "MooncakeConnector.build_prom_metrics = classmethod" "${MOONCAKE_DIR}/mooncake_connector.py" # Import it for real. The greps above prove the text is there; this proves it # parses and that every name it reaches for resolves in this image. python3 -c " from vllm.distributed.kv_transfer.kv_connector.v1.mooncake.stats import MooncakePromMetrics from vllm.distributed.kv_transfer.kv_connector.v1.metrics import KVConnectorPromMetrics assert issubclass(MooncakePromMetrics, KVConnectorPromMetrics) assert MooncakePromMetrics.observe is not KVConnectorPromMetrics.observe print('[info] MooncakePromMetrics imports and overrides observe.') " # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)

WORKDIR /

2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["tini" "--"]

2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -eo pipefail -c]

2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM=linux/arm64

2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)

ARG VLLM_ROUTER_VERSION=0.1.15

2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 VLLM_ROUTER_VERSION=0.1.15 /bin/bash -eo pipefail -c # vLLM Router uv pip install \ vllm-router==${VLLM_ROUTER_VERSION} # Fail the build rather than ship an image whose router is missing: the # alternative surfaces as a container that exits at deploy time, one # layer away from anything that explains it. command -v vllm-router >/dev/null # Review uv pip tree # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit

2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)

ARG DEPENDENCY_PACKAGES=diffusers flash-attn flashinfer-python lmcache lmcache-ascend mooncake-transfer-engine-npu mooncake-transfer-engine-rocm mooncake-transfer-engine ray runai-model-streamer sgl-kernel-npu sglang-kernel sglang-router torch torch-musa torch-npu transformers vllm-ascend vllm-metax vllm-musa vllm-omni vllm-router

2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)

RUN |5 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 VLLM_ROUTER_VERSION=0.1.15 DEPENDENCY_PACKAGES=diffusers flash-attn flashinfer-python lmcache lmcache-ascend mooncake-transfer-engine-npu mooncake-transfer-engine-rocm mooncake-transfer-engine ray runai-model-streamer sgl-kernel-npu sglang-kernel sglang-router torch torch-musa torch-npu transformers vllm-ascend vllm-metax vllm-musa vllm-omni vllm-router /bin/bash -eo pipefail -c DEPENDENCY_PACKAGES="${DEPENDENCY_PACKAGES}" bash /tmp/probe_dependencies.sh # buildkit

2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)

WORKDIR /

2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["tini" "--"]

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete