# ========================= # Base image # ========================= FROM python:3.10-slim # ========================= # Set working directory # ========================= WORKDIR /app # ========================= # Environment variables # ========================= ENV MODEL_NAME=prajjwal1/bert-tiny ENV PYTHONUNBUFFERED=1 ENV TESSDATA_PREFIX=/usr/share/tesseract-ocr/tessdata # ========================= # Install system dependencies (no poppler) # ========================= RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ tesseract-ocr \ libtesseract-dev \ libleptonica-dev \ pkg-config \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # ========================= # Copy requirements and install Python packages # ========================= COPY requirements.txt . RUN pip install --no-cache-dir --upgrade pip RUN pip install --no-cache-dir -r requirements.txt # ========================= # Copy app and model adapter # ========================= COPY app.py . COPY lora_adapter ./lora_adapter # Optional: custom Streamlit config COPY .streamlit ./.streamlit # ========================= # Expose Streamlit port # ========================= EXPOSE 8501 # ========================= # Run the app # ========================= CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]