FROM python:3.10-slim # Create a non-root user and set up environment RUN useradd -m -u 1000 appuser ENV HOME=/home/appuser ENV PATH=$HOME/.local/bin:$PATH # Switch to the app user's home directory for proper permissions WORKDIR /app # Copy app files COPY . /app # Adjust ownership for the non-root user RUN chown -R appuser:appuser /app # Install system dependencies RUN apt-get update && \ apt-get upgrade -y && \ apt-get install -y \ build-essential \ git \ cmake \ poppler-utils \ ffmpeg \ libsm6 \ libxext6 && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # Switch to non-root user USER appuser # Install Python dependencies RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt # Expose the application port EXPOSE 7860 # Start the application CMD ["python", "app.py"]