# Hugging Face Spaces Dockerfile for Document Conversion # This installs LibreOffice for Word to PDF conversion FROM python:3.10-slim # Install LibreOffice, Tesseract OCR, and required system dependencies RUN apt-get update && apt-get install -y \ libreoffice \ libreoffice-writer \ libreoffice-calc \ libreoffice-impress \ tesseract-ocr \ tesseract-ocr-eng \ default-jre-headless \ libgl1 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Set working directory WORKDIR /app # Copy requirements and install Python dependencies COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Copy application code COPY app.py . # Create temp directory for conversions RUN mkdir -p /tmp/conversions # Expose port 7860 (Hugging Face Spaces default) EXPOSE 7860 # Set environment variables ENV PYTHONUNBUFFERED=1 ENV PORT=7860 # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD python -c "import requests; requests.get('http://localhost:7860/health')" # Run the application CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--workers", "2", "--timeout", "60", "app:app"]