|
|
|
|
|
|
|
|
|
|
|
FROM python:3.11-slim |
|
|
|
|
|
ENV PYTHONUNBUFFERED=1 \ |
|
|
PORT=7860 \ |
|
|
OCR_ENABLED=true \ |
|
|
AI_ENABLED=false |
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
|
COPY requirements.txt . |
|
|
RUN pip install --no-cache-dir \ |
|
|
fastapi==0.104.1 \ |
|
|
uvicorn[standard]==0.24.0 \ |
|
|
python-multipart==0.0.6 \ |
|
|
python-dotenv==1.0.0 \ |
|
|
Pillow==10.1.0 \ |
|
|
pytesseract==0.3.10 |
|
|
|
|
|
|
|
|
COPY app.py . |
|
|
COPY core/ ./core/ |
|
|
COPY agents/ ./agents/ |
|
|
COPY models/ ./models/ |
|
|
COPY config/ ./config/ |
|
|
COPY sidecar/ ./sidecar/ |
|
|
|
|
|
|
|
|
RUN echo '#!/bin/bash\n\ |
|
|
if ! command -v tesseract &> /dev/null; then\n\ |
|
|
echo "Installing Tesseract..."\n\ |
|
|
apt-get update && apt-get install -y --no-install-recommends tesseract-ocr tesseract-ocr-eng\n\ |
|
|
rm -rf /var/lib/apt/lists/*\n\ |
|
|
fi' > /app/install_tesseract.sh && chmod +x /app/install_tesseract.sh |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EXPOSE 7860 |
|
|
|
|
|
|
|
|
HEALTHCHECK NONE |
|
|
|
|
|
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1"] |