FROM nvidia/cuda:12.1.1-devel-ubuntu22.04 # FROM python:3.10.9 # Use a more secure method for setting the working directory WORKDIR /app # Copy the requirements file COPY ./requirements.txt /app/requirements.txt # Install dependencies RUN apt update && apt install -y python3 python3-pip RUN python3 -m pip install --no-cache-dir --upgrade -r /app/requirements.txt RUN apt update && apt install -y ffmpeg # Add and configure the user RUN useradd -m -u 1000 user # Set environment variables for the user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH # Set the user and working directory USER user WORKDIR $HOME/app # Copy the application code COPY --chown=user . $HOME/app # Ensure the user has the correct permissions RUN chmod -R 777 $HOME/app # Set additional environment variables ENV NUMBA_CACHE_DIR=/tmp/NUMBA_CACHE_DIR/ ENV MPLCONFIGDIR=/tmp/MPLCONFIGDIR/ ENV HOME=/home/user ENV PATH="/opt/venv/bin:$PATH" # Set the command to run the application CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]