FROM pytorch/pytorch:2.1.2-cuda12.1-cudnn8-runtime ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get upgrade -y && \ apt-get install -y --no-install-recommends \ git \ git-lfs \ wget \ curl \ # python build dependencies \ build-essential \ libssl-dev \ zlib1g-dev \ libbz2-dev \ libreadline-dev \ libsqlite3-dev \ libncursesw5-dev \ xz-utils \ tk-dev \ libxml2-dev \ libxmlsec1-dev \ libffi-dev \ liblzma-dev \ # gradio dependencies \ ffmpeg # fairseq2 dependencies RUN apt-get install -y --no-install-recommends \ libsndfile-dev RUN apt-get clean && rm -rf /var/lib/apt/lists/* RUN useradd -m -u 1000 user USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:${PATH} WORKDIR ${HOME}/app # Copy the current directory contents into the container at $HOME/app setting the owner to the user COPY --chown=user . $HOME/app RUN pip install -r ${HOME}/app/requirements.txt # # Cache checkpoints into docker image # RUN mkdir content # ADD --chown=user https:// content/ # SeamlessCommunication requirements RUN pip install -r ${HOME}/app/seamless_requirements.txt && \ pip install fairseq2 --pre --extra-index-url https://fair.pkg.atmeta.com/fairseq2/pt2.1.0/cu121 && \ pip install ${HOME}/app/whl/seamless_communication-1.0.0-py3-none-any.whl # Start the FastAPI app on port 7860, the default port expected by Spaces CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]