new-project / dockerfile
amit01Xindus's picture
Upload 8 files
96c003e verified
raw
history blame
1.32 kB
# 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"]