Spaces:
Running
Running
| # Use a base image that supports Python and is suitable for Streamlit | |
| FROM python:3.10-slim | |
| # Install Tesseract and Poppler (required by pdf2image) using apt-get | |
| RUN apt-get update && apt-get install -y \ | |
| tesseract-ocr \ | |
| libtesseract-dev \ | |
| poppler-utils \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Copy your requirements file first (for better caching) | |
| COPY requirements.txt . | |
| # Install Python dependencies, including streamlit | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Set the working directory inside the container | |
| WORKDIR /app | |
| # Copy the rest of your application code (including app.py, tessdata/, etc.) | |
| COPY . . | |
| # Create Streamlit config to fix 403 error | |
| RUN mkdir -p ~/.streamlit && \ | |
| echo "[server]\n\ | |
| headless = true\n\ | |
| enableCORS = false\n\ | |
| enableXsrfProtection = false\n\ | |
| maxUploadSize = 200\n\ | |
| port = 7860\n\ | |
| address = \"0.0.0.0\"\n\ | |
| \n\ | |
| [browser]\n\ | |
| gatherUsageStats = false\n\ | |
| " > ~/.streamlit/config.toml | |
| # Expose the port for Hugging Face Spaces (must be 7860) | |
| EXPOSE 7860 | |
| # Define the command to run your Streamlit app | |
| CMD ["streamlit", "run", "app.py", \ | |
| "--server.port=7860", \ | |
| "--server.address=0.0.0.0", \ | |
| "--server.enableCORS=false", \ | |
| "--server.enableXsrfProtection=false"] |