| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:6df775300d76441aa33f31b22c1afce8dfe35c8ffbc14ef27c27009235b12a95 in / |
| CMD ["/bin/bash"] |
| ENV NVARCH=x86_64 |
| ENV NVIDIA_REQUIRE_CUDA=cuda>=12.8 brand=unknown,driver>=470,driver<471 brand=grid,driver>=470,driver<471 brand=tesla,driver>=470,driver<471 brand=nvidia,driver>=470,driver<471 brand=quadro,driver>=470,driver<471 brand=quadrortx,driver>=470,driver<471 brand=nvidiartx,driver>=470,driver<471 brand=vapps,driver>=470,driver<471 brand=vpc,driver>=470,driver<471 brand=vcs,driver>=470,driver<471 brand=vws,driver>=470,driver<471 brand=cloudgaming,driver>=470,driver<471 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>=560,driver<561 brand=grid,driver>=560,driver<561 brand=tesla,driver>=560,driver<561 brand=nvidia,driver>=560,driver<561 brand=quadro,driver>=560,driver<561 brand=quadrortx,driver>=560,driver<561 brand=nvidiartx,driver>=560,driver<561 brand=vapps,driver>=560,driver<561 brand=vpc,driver>=560,driver<561 brand=vcs,driver>=560,driver<561 brand=vws,driver>=560,driver<561 brand=cloudgaming,driver>=560,driver<561 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 |
| ENV NV_CUDA_CUDART_VERSION=12.8.90-1 |
| ARG TARGETARCH |
| LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com> |
| 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 |
| ENV CUDA_VERSION=12.8.1 |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cuda-cudart-12-8=${NV_CUDA_CUDART_VERSION} cuda-compat-12-8 && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c echo "/usr/local/cuda/lib64" >> /etc/ld.so.conf.d/nvidia.conf # buildkit |
| ENV PATH=/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV LD_LIBRARY_PATH=/usr/local/cuda/lib64 |
| COPY NGC-DL-CONTAINER-LICENSE / # buildkit |
| ENV NVIDIA_VISIBLE_DEVICES=all |
| ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility |
| ENV NV_CUDA_LIB_VERSION=12.8.1-1 |
| ENV NV_NVTX_VERSION=12.8.90-1 |
| ENV NV_LIBNPP_VERSION=12.3.3.100-1 |
| ENV NV_LIBNPP_PACKAGE=libnpp-12-8=12.3.3.100-1 |
| ENV NV_LIBCUSPARSE_VERSION=12.5.8.93-1 |
| ENV NV_LIBCUBLAS_PACKAGE_NAME=libcublas-12-8 |
| ENV NV_LIBCUBLAS_VERSION=12.8.4.1-1 |
| ENV NV_LIBCUBLAS_PACKAGE=libcublas-12-8=12.8.4.1-1 |
| ENV NV_LIBNCCL_PACKAGE_NAME=libnccl2 |
| ENV NV_LIBNCCL_PACKAGE_VERSION=2.25.1-1 |
| ENV NCCL_VERSION=2.25.1-1 |
| ENV NV_LIBNCCL_PACKAGE=libnccl2=2.25.1-1+cuda12.8 |
| ARG TARGETARCH |
| LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com> |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cuda-libraries-12-8=${NV_CUDA_LIB_VERSION} ${NV_LIBNPP_PACKAGE} cuda-nvtx-12-8=${NV_NVTX_VERSION} libcusparse-12-8=${NV_LIBCUSPARSE_VERSION} ${NV_LIBCUBLAS_PACKAGE} ${NV_LIBNCCL_PACKAGE} && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-mark hold ${NV_LIBCUBLAS_PACKAGE_NAME} ${NV_LIBNCCL_PACKAGE_NAME} # buildkit |
| COPY entrypoint.d/ /opt/nvidia/entrypoint.d/ # buildkit |
| COPY nvidia_entrypoint.sh /opt/nvidia/ # buildkit |
| ENV NVIDIA_PRODUCT_NAME=CUDA |
| ENTRYPOINT ["/opt/nvidia/nvidia_entrypoint.sh"] |
| ENV NV_CUDNN_VERSION=9.8.0.87-1 |
| ENV NV_CUDNN_PACKAGE_NAME=libcudnn9-cuda-12 |
| ENV NV_CUDNN_PACKAGE=libcudnn9-cuda-12=9.8.0.87-1 |
| ARG TARGETARCH |
| LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com> |
| LABEL com.nvidia.cudnn.version=9.8.0.87-1 |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ${NV_CUDNN_PACKAGE} && apt-mark hold ${NV_CUDNN_PACKAGE_NAME} && rm -rf /var/lib/apt/lists/* # buildkit |
| ARG TORCH_INDEX=https://download.pytorch.org/whl/cu130 |
| ENV DEBIAN_FRONTEND=noninteractive PYTHONUNBUFFERED=1 PIP_NO_CACHE_DIR=1 |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c printf '#!/bin/sh\nfor i in 1 2 3 4 5; do "$@" && exit 0; echo "retry: attempt $i failed: $*" >&2; sleep 10; done; exit 1\n' > /usr/local/bin/retry && chmod +x /usr/local/bin/retry && echo 'Acquire::Retries "5";' > /etc/apt/apt.conf.d/80-retries # buildkit |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends python3.12 python3.12-venv python3.12-dev git wget curl ca-certificates ffmpeg libgl1 libglib2.0-0 build-essential rsync aria2 unzip openssh-server && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c retry curl -fsSL --retry 5 --retry-delay 10 --retry-all-errors "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o /tmp/awscliv2.zip && unzip -q /tmp/awscliv2.zip -d /tmp && /tmp/aws/install && rm -rf /tmp/aws /tmp/awscliv2.zip && aws --version # buildkit |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c python3.12 -m venv /venv-image # buildkit |
| ENV PATH=/venv-image/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c pip install --upgrade pip setuptools wheel # buildkit |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c pip install torch torchvision torchaudio --extra-index-url ${TORCH_INDEX} # buildkit |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c retry git clone https://github.com/comfyanonymous/ComfyUI.git /ComfyUI # buildkit |
| WORKDIR /ComfyUI |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c pip install -r requirements.txt # buildkit |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c pip install -r manager_requirements.txt # buildkit |
| COPY patches/ /patches/ # buildkit |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c retry git clone --depth 1 https://github.com/MadiatorLabs/ComfyUI-RunpodDirect.git custom_nodes/ComfyUI-RunpodDirect && git -C custom_nodes/ComfyUI-RunpodDirect apply /patches/runpoddirect-prequeue-download-to-pod.patch # buildkit |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c set -e; for repo in https://github.com/ltdrdata/ComfyUI-Impact-Pack https://github.com/ltdrdata/ComfyUI-Impact-Subpack https://github.com/Fannovel16/comfyui_controlnet_aux https://github.com/cubiq/ComfyUI_IPAdapter_plus https://github.com/kijai/ComfyUI-KJNodes https://github.com/numz/ComfyUI-SeedVR2_VideoUpscaler ; do name="$(basename "$repo")"; retry git clone --depth 1 "$repo" "custom_nodes/$name"; if [ -f "custom_nodes/$name/requirements.txt" ]; then pip install -r "custom_nodes/$name/requirements.txt"; fi; done; retry git clone --depth 1 --recursive https://github.com/ssitu/ComfyUI_UltimateSDUpscale custom_nodes/ComfyUI_UltimateSDUpscale # buildkit |
| COPY /llama.cpp/build/bin/llama-server /usr/local/bin/llama-server # buildkit |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c python3.12 -m venv /venv-mcp && /venv-mcp/bin/pip install --no-cache-dir mcp-server-fetch # buildkit |
| COPY mcp/llama-mcp.json /etc/llama-mcp.json # buildkit |
| COPY start.sh /start.sh # buildkit |
| RUN |1 TORCH_INDEX=https://download.pytorch.org/whl/cu130 /bin/sh -c chmod +x /start.sh # buildkit |
| ENV VIRTUAL_ENV=/venv-image PIP_TARGET=/workspace/pip-packages PYTHONPATH=/workspace/pip-packages PATH=/workspace/pip-packages/bin:/venv-image/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| EXPOSE [22/tcp 8080/tcp 8188/tcp] |
| CMD ["/start.sh"] |