| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=20.04 |
| ADD file:ea2128e23dce0162557abadd80656bd5ae047d573095d1d4323eb4154490dfdc in / |
| CMD ["/bin/bash"] |
| ENV NVARCH=x86_64 |
| ENV NVIDIA_REQUIRE_CUDA=cuda>=12.4 brand=tesla,driver>=470,driver<471 brand=unknown,driver>=470,driver<471 brand=nvidia,driver>=470,driver<471 brand=nvidiartx,driver>=470,driver<471 brand=geforce,driver>=470,driver<471 brand=geforcertx,driver>=470,driver<471 brand=quadro,driver>=470,driver<471 brand=quadrortx,driver>=470,driver<471 brand=titan,driver>=470,driver<471 brand=titanrtx,driver>=470,driver<471 brand=tesla,driver>=525,driver<526 brand=unknown,driver>=525,driver<526 brand=nvidia,driver>=525,driver<526 brand=nvidiartx,driver>=525,driver<526 brand=geforce,driver>=525,driver<526 brand=geforcertx,driver>=525,driver<526 brand=quadro,driver>=525,driver<526 brand=quadrortx,driver>=525,driver<526 brand=titan,driver>=525,driver<526 brand=titanrtx,driver>=525,driver<526 brand=tesla,driver>=535,driver<536 brand=unknown,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=geforce,driver>=535,driver<536 brand=geforcertx,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=titan,driver>=535,driver<536 brand=titanrtx,driver>=535,driver<536 |
| ENV NV_CUDA_CUDART_VERSION=12.4.127-1 |
| ENV NV_CUDA_COMPAT_PACKAGE=cuda-compat-12-4 |
| 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/ubuntu2004/${NVARCH}/3bf863cc.pub | apt-key add - && echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/${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.4.1 |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cuda-cudart-12-4=${NV_CUDA_CUDART_VERSION} ${NV_CUDA_COMPAT_PACKAGE} && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf # buildkit |
| ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64 |
| COPY NGC-DL-CONTAINER-LICENSE / # buildkit |
| ENV NVIDIA_VISIBLE_DEVICES=all |
| ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility |
| ENV NV_CUDA_LIB_VERSION=12.4.1-1 |
| ENV NV_NVTX_VERSION=12.4.127-1 |
| ENV NV_LIBNPP_VERSION=12.2.5.30-1 |
| ENV NV_LIBNPP_PACKAGE=libnpp-12-4=12.2.5.30-1 |
| ENV NV_LIBCUSPARSE_VERSION=12.3.1.170-1 |
| ENV NV_LIBCUBLAS_PACKAGE_NAME=libcublas-12-4 |
| ENV NV_LIBCUBLAS_VERSION=12.4.5.8-1 |
| ENV NV_LIBCUBLAS_PACKAGE=libcublas-12-4=12.4.5.8-1 |
| ENV NV_LIBNCCL_PACKAGE_NAME=libnccl2 |
| ENV NV_LIBNCCL_PACKAGE_VERSION=2.21.5-1 |
| ENV NCCL_VERSION=2.21.5-1 |
| ENV NV_LIBNCCL_PACKAGE=libnccl2=2.21.5-1+cuda12.4 |
| 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-4=${NV_CUDA_LIB_VERSION} ${NV_LIBNPP_PACKAGE} cuda-nvtx-12-4=${NV_NVTX_VERSION} libcusparse-12-4=${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 PYTHONUNBUFFERED=1 |
| ENV PYTHONDONTWRITEBYTECODE=1 |
| ENV DEBIAN_FRONTEND=noninteractive |
| RUN /bin/sh -c apt-get update && apt-get install -y software-properties-common && add-apt-repository ppa:deadsnakes/ppa && apt-get update && apt-get install -y python3.11 python3.11-dev python3.11-distutils git wget curl build-essential ffmpeg libsndfile1 && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1 # buildkit |
| RUN /bin/sh -c update-alternatives --install /usr/bin/python python /usr/bin/python3.11 1 # buildkit |
| COPY /uv /bin/uv # buildkit |
| WORKDIR /app |
| RUN /bin/sh -c uv venv --python 3.11 # buildkit |
| RUN /bin/sh -c uv pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu124 # buildkit |
| RUN /bin/sh -c uv pip install setuptools fastapi uvicorn[standard] python-dotenv python-multipart requests psutil # buildkit |
| RUN /bin/sh -c uv pip install chatterbox-tts # buildkit |
| COPY app/ ./app/ # buildkit |
| COPY main.py ./ # buildkit |
| COPY voice-sample.mp3 ./voice-sample.mp3 # buildkit |
| RUN /bin/sh -c mkdir -p /cache /voices # buildkit |
| ENV PORT=4123 |
| ENV EXAGGERATION=0.5 |
| ENV CFG_WEIGHT=0.5 |
| ENV TEMPERATURE=0.8 |
| ENV VOICE_SAMPLE_PATH=/app/voice-sample.mp3 |
| ENV MAX_CHUNK_LENGTH=280 |
| ENV MAX_TOTAL_LENGTH=3000 |
| ENV DEVICE=cuda |
| ENV MODEL_CACHE_DIR=/cache |
| ENV VOICE_LIBRARY_DIR=/voices |
| ENV HOST=0.0.0.0 |
| ENV NVIDIA_VISIBLE_DEVICES=all |
| ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility |
| ENV PATH=/app/.venv/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| EXPOSE map[4123/tcp:{}] |
| HEALTHCHECK &{["CMD-SHELL" "curl -f http://localhost:${PORT}/health || exit 1"] "30s" "30s" "5m0s" "0s" '\x03'} |
| CMD ["python" "main.py"] |