FROM python:3.9 # Create a user and switch to it RUN useradd -m -u 1000 user USER user ENV PATH="/home/user/.local/bin:$PATH" WORKDIR /app # Copy and install the required packages from requirements.txt COPY --chown=user ./requirements.txt requirements.txt RUN pip install --no-cache-dir --upgrade -r requirements.txt # Install libgl1-mesa-glx for OpenGL (libGL.so.1) and related dependencies USER root RUN apt-get update && apt-get install -y libgl1-mesa-glx # Switch back to the non-root user after installing dependencies USER user # Copy the application code to the container COPY --chown=user . /app # Use gunicorn to start the app and bind it to port 7860 CMD ["gunicorn", "app:app", "--bind", "0.0.0.0:7860"]