FROM python:3.12-slim | |
# Create a new user | |
RUN useradd -m user | |
WORKDIR /app | |
RUN apt-get update && apt-get install -y \ | |
libglib2.0-0 \ | |
libsm6 \ | |
libxext6 \ | |
libxrender-dev \ | |
libgl1-mesa-glx \ | |
wget \ | |
&& rm -rf /var/lib/apt/lists/* | |
COPY requirements.txt . | |
RUN pip install --no-cache-dir -r requirements.txt | |
COPY . . | |
# Change ownership of the /app directory to the new user | |
RUN chown -R user:user /app | |
# Switch to the new user | |
USER user | |
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "4"] | |