Spaces:
Sleeping
Sleeping
# Use a minimal Python base image | |
FROM python:3.10-slim | |
# Install system dependencies including libcrypt and additional libraries for PyMuPDF | |
RUN apt-get update && \ | |
apt-get install -y \ | |
libcrypt1 \ | |
libgl1-mesa-glx \ | |
libglib2.0-0 \ | |
libsm6 \ | |
libxext6 \ | |
libxrender-dev \ | |
libgomp1 \ | |
poppler-utils \ | |
build-essential \ | |
libfontconfig1 \ | |
libxrender1 \ | |
libxtst6 \ | |
libxi6 \ | |
libfreetype6-dev \ | |
libjpeg-dev \ | |
libopenjp2-7-dev \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Set working directory | |
WORKDIR /app | |
# Copy requirements first for better caching | |
COPY requirements.txt . | |
# Upgrade pip and install Python dependencies with verbose output | |
RUN pip install --upgrade pip | |
# Install PyMuPDF first to check for issues early | |
RUN pip install --no-cache-dir PyMuPDF==1.23.0 | |
# Test PyMuPDF import | |
RUN python -c "import fitz; print('PyMuPDF imported successfully')" | |
# Install remaining dependencies | |
RUN pip install --no-cache-dir -r requirements.txt | |
# Verify python-docx installation | |
RUN python -c "from docx import Document; print('python-docx installed successfully')" | |
# Copy source code to container | |
COPY . . | |
# Expose the port Flask will run on (important for Hugging Face) | |
EXPOSE 7860 | |
# Run the Flask app | |
CMD ["gunicorn", "--bind", "0.0.0.0:7860", "app:app"] |