FROM nvidia/cuda:13.4.3-cudnn-devel-ubuntu26.04 ENV DEBIAN_FRONTEND=noninteractive RUN rm -f /etc/dpkg/dpkg.cfg.d/excludes && \ rm -f /etc/apt/apt.conf.d/docker-clean && \ rm -f /etc/apt/apt.conf.d/01-nodoc && \ rm -f /usr/bin/man && \ dpkg-divert --quiet --remove /usr/bin/man RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked \ apt update && apt-get dist-upgrade --autoremove -y && apt-get install -y \ python3-pip \ python3-dev \ python3-venv \ build-essential \ man \ man-db \ wget \ bzip2 \ curl \ git \ cmake RUN python3 -m venv /root/venv ENV PATH="/root/venv/bin:${PATH}" RUN --mount=type=cache,target=/root/.cache/pip,sharing=locked pip3 install torch torchvision torchaudio --upgrade --index-url \ https://download.pytorch.org/whl/cu134/ WORKDIR /root RUN mkdir llama.cpp COPY --exclude=build/ llama.cpp ./llama.cpp/ WORKDIR /root/llama.cpp ENV LD_LIBRARY_PATH=/usr/local/cuda-13.4/compat:${LD_LIBRARY_PATH} ENV LIBRARY_PATH=/usr/local/cuda-13.4/compat:${LIBRARY_PATH} RUN cmake -B build -S . \ -DCMAKE_BUILD_TYPE=Release \ -DGGML_CUDA=ON \ -DCMAKE_CUDA_ARCHITECTURES=120 \ -DLLAMA_BUILD_TESTS=OFF \ -DLLAMA_BUILD_EXAMPLES=ON \ && cmake --build build -j$(nproc) \ && cmake --build build --target install \ && rm -rf build WORKDIR /root RUN git clone https://github.com/silveroxides/convert_to_quant && cd convert_to_quant && pip3 install -r requirements.txt && pip3 install . RUN mkdir nvfp4_gguf_quant WORKDIR /root/nvfp4_gguf_quant COPY --exclude=__pycache__ nvfp4gguf ./nvfp4gguf COPY --chmod=0644 gguf_to_nvfp4_gguf.py hf_to_nvfp4_gguf.py hf_to_nvfp4_safetensors.py requirements.txt safetensors_to_nvfp4_gguf.py hf_info.py gguf_info.py . RUN --mount=type=cache,target=/root/.cache/pip,sharing=locked pip3 install -r requirements.txt COPY --chmod=0644 docker/README.txt /workspace/README.txt COPY --chmod=0755 docker/hf_info docker/gguf_info docker/hf_to_nvfp4_gguf docker/hf_to_nvfp4_safetensors docker/gguf_to_nvfp4_gguf docker/safetensors_to_nvfp4_gguf /usr/local/bin/ RUN mkdir -p /usr/local/share/man/man1 COPY --chmod=0644 man/man1/* /usr/local/share/man/man1/ RUN --mount=type=cache,target=/root/.cache/pip,sharing=locked pip3 install heretic-llm RUN rm -f /opt/nvidia/entrypoint.d/*banner*.sh /opt/nvidia/entrypoint.d/*license*.sh 2>/dev/null WORKDIR /workspace