FROM pytorch/pytorch:2.6.0-cuda12.4-cudnn9-devel # Install dependencies RUN pip install uv ENV DEBIAN_FRONTEND=noninteractive \ TZ=Europe/Paris # Remove any third-party apt sources to avoid issues with expiring keys. # Install some basic utilities RUN rm -f /etc/apt/sources.list.d/*.list && \ apt-get update && apt-get install -y --no-install-recommends \ curl \ ca-certificates \ sudo \ git \ wget \ procps \ git-lfs \ zip \ unzip \ htop \ vim \ nano \ bzip2 \ libx11-6 \ build-essential \ libsndfile-dev \ software-properties-common \ tmux \ && rm -rf /var/lib/apt/lists/* RUN add-apt-repository ppa:flexiondotorg/nvtop && \ apt-get upgrade -y && \ apt-get install -y --no-install-recommends nvtop RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \ apt-get install -y nodejs && \ npm install -g configurable-http-proxy # Set working directory WORKDIR /app # Clone the repository RUN git clone https://github.com/Zyphra/Zonos.git && cd Zonos # Copy application files WORKDIR /app/Zonos # Set environment variable for Triton cache ENV TRITON_CACHE_DIR=/tmp/.triton # Ensure Triton cache directory is writable RUN mkdir -p $TRITON_CACHE_DIR && chmod -R 777 $TRITON_CACHE_DIR # Install Python dependencies RUN uv pip install --system -e . && uv pip install --system -e .[compile] # Expose the Gradio default port EXPOSE 7860 # Run the Gradio app CMD ["python", "gradio_interface.py"]