| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=22.04 |
| ADD file:1b6c8c9518be42fa2afe5e241ca31677fce58d27cdfa88baa91a65a259be3637 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 -fsSLO https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/${NVARCH}/cuda-keyring_1.1-1_all.deb && dpkg -i cuda-keyring_1.1-1_all.deb && 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_CUDA_LIB_VERSION=12.8.1-1 |
| ENV NV_CUDA_CUDART_DEV_VERSION=12.8.90-1 |
| ENV NV_NVML_DEV_VERSION=12.8.90-1 |
| ENV NV_LIBCUSPARSE_DEV_VERSION=12.5.8.93-1 |
| ENV NV_LIBNPP_DEV_VERSION=12.3.3.100-1 |
| ENV NV_LIBNPP_DEV_PACKAGE=libnpp-dev-12-8=12.3.3.100-1 |
| ENV NV_LIBCUBLAS_DEV_VERSION=12.8.4.1-1 |
| ENV NV_LIBCUBLAS_DEV_PACKAGE_NAME=libcublas-dev-12-8 |
| ENV NV_LIBCUBLAS_DEV_PACKAGE=libcublas-dev-12-8=12.8.4.1-1 |
| ENV NV_CUDA_NSIGHT_COMPUTE_VERSION=12.8.1-1 |
| ENV NV_CUDA_NSIGHT_COMPUTE_DEV_PACKAGE=cuda-nsight-compute-12-8=12.8.1-1 |
| ENV NV_NVPROF_VERSION=12.8.90-1 |
| ENV NV_NVPROF_DEV_PACKAGE=cuda-nvprof-12-8=12.8.90-1 |
| ENV NV_LIBNCCL_DEV_PACKAGE_NAME=libnccl-dev |
| ENV NV_LIBNCCL_DEV_PACKAGE_VERSION=2.25.1-1 |
| ENV NCCL_VERSION=2.25.1-1 |
| ENV NV_LIBNCCL_DEV_PACKAGE=libnccl-dev=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-cudart-dev-12-8=${NV_CUDA_CUDART_DEV_VERSION} cuda-command-line-tools-12-8=${NV_CUDA_LIB_VERSION} cuda-minimal-build-12-8=${NV_CUDA_LIB_VERSION} cuda-libraries-dev-12-8=${NV_CUDA_LIB_VERSION} cuda-nvml-dev-12-8=${NV_NVML_DEV_VERSION} ${NV_NVPROF_DEV_PACKAGE} ${NV_LIBNPP_DEV_PACKAGE} libcusparse-dev-12-8=${NV_LIBCUSPARSE_DEV_VERSION} ${NV_LIBCUBLAS_DEV_PACKAGE} ${NV_LIBNCCL_DEV_PACKAGE} ${NV_CUDA_NSIGHT_COMPUTE_DEV_PACKAGE} && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-mark hold ${NV_LIBCUBLAS_DEV_PACKAGE_NAME} ${NV_LIBNCCL_DEV_PACKAGE_NAME} # buildkit |
| ENV LIBRARY_PATH=/usr/local/cuda/lib64/stubs |
| 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 |
| ENV NV_CUDNN_PACKAGE_DEV=libcudnn9-dev-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} ${NV_CUDNN_PACKAGE_DEV} && apt-mark hold ${NV_CUDNN_PACKAGE_NAME} && rm -rf /var/lib/apt/lists/* # buildkit |
| COPY /uv /usr/local/bin/uv # buildkit |
| ARG DEBIAN_FRONTEND=noninteractive |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get update && apt-get install -y --no-install-recommends software-properties-common ca-certificates curl && add-apt-repository -y ppa:deadsnakes/ppa && apt-get update && apt-get install -y --no-install-recommends python3.12 python3.12-venv python3.12-dev ffmpeg espeak-ng libsndfile1 sox fontconfig fonts-dejavu-core git && rm -rf /var/lib/apt/lists/* # buildkit |
| WORKDIR /app |
| ENV UV_PROJECT_ENVIRONMENT=/venv |
| ENV UV_PYTHON=/usr/bin/python3.12 |
| ENV PATH=/venv/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV PYTHONPATH=/app:/app/scripts |
| ENV NVIDIA_VISIBLE_DEVICES=all |
| ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility |
| COPY pyproject.toml uv.lock ./ # buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c uv sync --inexact --extra temporal --extra ingest --extra transform --extra storage-minio --extra video --extra fx --no-install-package torch --no-install-package torchaudio --no-install-package torchvision --no-install-project --frozen # buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c uv pip install --python /venv/bin/python --reinstall --index-url https://download.pytorch.org/whl/cu128 torch torchaudio # buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c uv pip install --python /venv/bin/python --no-deps https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.8.0/en_core_web_sm-3.8.0-py3-none-any.whl # buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c /venv/bin/python -c "import torch; assert torch.version.cuda, 'CUDA torch not installed'; print(f'torch={torch.__version__} cuda={torch.version.cuda}')" # buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c /venv/bin/python -c "import spacy; spacy.load('en_core_web_sm'); print('en_core_web_sm OK')" # buildkit |
| ARG MODEL_EXTRA=cuda-all |
| ARG INSTALL_STT=false |
| ARG INSTALL_DIARIZATION=false |
| ARG CHAUTAUQUA_BUILD_ID=v0.1.30 |
| ENV CHAUTAUQUA_BUILD_ID=v0.1.30 |
| RUN |4 MODEL_EXTRA=cuda-all INSTALL_STT=false INSTALL_DIARIZATION=false CHAUTAUQUA_BUILD_ID=v0.1.30 /bin/sh -c STT_EXTRA=""; DIARIZATION_EXTRA=""; if [ "${INSTALL_STT}" = "true" ] || [ "${MODEL_EXTRA}" = "stt" ]; then STT_EXTRA="--extra stt"; fi; if [ "${INSTALL_DIARIZATION}" = "true" ] || [ "${MODEL_EXTRA}" = "diarization" ]; then DIARIZATION_EXTRA="--extra diarization"; fi; if [ "${MODEL_EXTRA}" = "qwen-gpu" ] || [ "${MODEL_EXTRA}" = "vibevoice-gpu" ] || [ "${MODEL_EXTRA}" = "stt" ]; then uv sync --inexact --extra temporal --extra ingest --extra transform --extra storage-minio --extra video --extra fx ${STT_EXTRA} ${DIARIZATION_EXTRA} --no-install-package torch --no-install-package torchaudio --no-install-package torchvision --no-install-project --frozen; else uv sync --inexact --extra temporal --extra ingest --extra transform --extra storage-minio --extra ${MODEL_EXTRA} --extra video --extra fx ${STT_EXTRA} ${DIARIZATION_EXTRA} --no-install-package torch --no-install-package torchaudio --no-install-package torchvision --no-install-project --frozen; fi # buildkit |
| RUN |4 MODEL_EXTRA=cuda-all INSTALL_STT=false INSTALL_DIARIZATION=false CHAUTAUQUA_BUILD_ID=v0.1.30 /bin/sh -c if [ "${MODEL_EXTRA}" = "chatterbox-gpu" ] || [ "${MODEL_EXTRA}" = "cuda-all" ]; then uv pip install --python /venv/bin/python --no-deps chatterbox-tts && uv pip install --python /venv/bin/python librosa==0.11.0 s3tokenizer diffusers==0.29.0 "resemble-perth>=1.0.0" conformer==0.3.2 safetensors==0.5.3 spacy-pkuseg pykakasi==2.3.0 pyloudnorm omegaconf transformers==5.2.0 gradio==6.8.0; fi # buildkit |
| RUN |4 MODEL_EXTRA=cuda-all INSTALL_STT=false INSTALL_DIARIZATION=false CHAUTAUQUA_BUILD_ID=v0.1.30 /bin/sh -c if [ "${MODEL_EXTRA}" = "qwen-gpu" ]; then uv pip install --python /venv/bin/python qwen-tts; fi # buildkit |
| RUN |4 MODEL_EXTRA=cuda-all INSTALL_STT=false INSTALL_DIARIZATION=false CHAUTAUQUA_BUILD_ID=v0.1.30 /bin/sh -c if [ "${MODEL_EXTRA}" = "vibevoice-gpu" ]; then uv pip install --python /venv/bin/python vibevoice; fi # buildkit |
| RUN |4 MODEL_EXTRA=cuda-all INSTALL_STT=false INSTALL_DIARIZATION=false CHAUTAUQUA_BUILD_ID=v0.1.30 /bin/sh -c /venv/bin/python -c "import torch; assert torch.version.cuda, 'CUDA torch not installed'; print(f'torch={torch.__version__} cuda={torch.version.cuda}')" # buildkit |
| COPY chautauqua /app/chautauqua # buildkit |
| COPY cuda_tts /app/cuda_tts # buildkit |
| COPY mlx_tts /app/mlx_tts # buildkit |
| COPY gemini_tts /app/gemini_tts # buildkit |
| COPY scripts /app/scripts # buildkit |