FROM python:3.11-slim
WORKDIR /app
# System deps for PDF-to-image conversion (poppler required by pdf2image)
RUN apt-get update && apt-get install -y --no-install-recommends \
poppler-utils && rm -rf /var/lib/apt/lists/*
# Copy dependency spec first for Docker layer caching
COPY web/requirements.txt /app/web/requirements.txt
RUN pip install --no-cache-dir -r web/requirements.txt
# Copy source code
COPY src/ /app/src/
COPY scripts/ /app/scripts/
COPY data/knowledge/ /app/data/knowledge/
COPY web/ /app/web/
WORKDIR /app/web
ENV PORT=8080
ENV PYTHONPATH=/app
ENV CRON_WORKER=true
EXPOSE 8080
CMD ["gunicorn", "app:app", "--bind", "0.0.0.0:8080", "--workers", "2", "--timeout", "900"]