FROM nvidia/cuda:12.5.1-cudnn-devel-ubuntu22.04 ARG DEBIAN_FRONTEND=noninteractive # Set up a new user named "user" with user ID 1099 RUN useradd -m -u 1099 user # Update packages RUN apt-get update && apt-get install -y \ build-essential \ python3 \ python3-pip \ git \ ffmpeg \ libcudnn8 \ libcudnn8-dev \ sudo # Switch to the "user" user USER user # Set home to the user's home directory ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH # Set environment variables ENV PYTHONUNBUFFERED=1 \ GRADIO_ALLOW_FLAGGING=never \ GRADIO_NUM_PORTS=1 \ GRADIO_SERVER_NAME=0.0.0.0 \ GRADIO_THEME=huggingface \ SYSTEM=spaces \ TRANSFORMERS_CACHE=/dev/shm \ GRADIO_ANALYTICS_ENABLED=False WORKDIR /home/user/app # Set up CUDA libraries RUN export LD_LIBRARY_PATH=`python3 -c 'import os; import nvidia.cublas.lib; import nvidia.cudnn.lib; import torch; print(os.path.dirname(nvidia.cublas.lib.__file__) + ":" + os.path.dirname(nvidia.cudnn.lib.__file__) + ":" + os.path.dirname(torch.__file__) +"/lib")'`:$LD_LIBRARY_PATH # Copy the current directory contents into the container at /app COPY --chown=user . $HOME/app COPY ./requirements.txt /home/user/app/requirements.txt RUN pip3 install --no-cache-dir --upgrade -r .requirements.txt # Create necessary directories and set permissions RUN mkdir -p /home/user/app/Results/Audio_Processing /app/Results/Video_Downloads RUN chmod -R 777 /home/user/app/* RUN whoami && \ echo "Permissions for ./app:" && \ ls -la ./app && \ echo "Permissions for ./:" && \ ls -la ./ CMD ["cd /home/user/app"] # Command to run the application CMD ["python3", "app.py"]