# Base image FROM python:3.10-slim # Set env to avoid interactive prompts and ensure models cache to /tmp ENV HF_HOME=/tmp \ XDG_CACHE_HOME=/tmp \ PYTHONUNBUFFERED=1 # Install system dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ poppler-utils \ tesseract-ocr \ libglib2.0-0 \ libsm6 \ libxext6 \ libxrender-dev \ build-essential \ libpoppler-dev \ libtesseract-dev \ libblas-dev \ liblapack-dev \ gfortran \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Set working directory WORKDIR /app # Copy requirements and install COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Copy app files COPY . . # Create upload directory and give full write permissions RUN mkdir -p /tmp/uploads && chmod 777 /tmp/uploads # Expose port (for local or HF Spaces) EXPOSE 7860 # Start the Flask app CMD ["python", "app.py"]