FROM nvidia/cuda:12.0.0-base-ubuntu20.04 ARG DEBIAN_FRONTEND=noninteractive ENV PYTHONUNBUFFERED=1 WORKDIR /app # Install python, git & ffmpeg RUN apt-get update && apt-get install --no-install-recommends -y \ build-essential \ python3.8=3.8.10* \ python3-pip \ git \ ffmpeg \ && apt-get clean && rm -rf /var/lib/apt/lists/* COPY ./requirements.txt /app/requirements.txt COPY ./packages.txt /app/packages.txt RUN pip install --upgrade pip RUN pip install pyproject-toml RUN pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html RUN apt-get update && xargs -r -a /app/packages.txt apt-get install -y && rm -rf /var/lib/apt/lists/* RUN pip3 install --no-cache-dir -r /app/requirements.txt RUN pip3 install --no-cache-dir numba==0.56.3 RUN pip install git+https://github.com/JeremyCCHsu/Python-Wrapper-for-World-Vocoder.git WORKDIR /app # Set up a new user named "user" with user ID 1000 RUN useradd -m -u 1000 user # Set the working directory to the user's home directory 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 EXPOSE 8501 CMD nvidia-smi -l CMD streamlit run app.py --server.maxUploadSize 1024 --server.enableWebsocketCompression=false --server.enableXsrfProtection=false