Spaces:
Running
Running
# 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"] | |