FROM python:3.13-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY main.py .

ENV HOST=0.0.0.0
ENV PORT=8000
ENV INDEX_CHUNK_MAX_CHARS=2200
ENV INDEX_MESSAGE_MAX_CHARS=1400
ENV INDEX_TEXT_SECTION_MAX_CHARS=1000
ENV INDEX_TIME_GAP_SECONDS=21600
ENV INDEX_CHUNK_OVERLAP_MESSAGES=1
ENV FASTEMBED_CACHE_PATH=/models/fastembed
ENV HF_HOME=/models/huggingface

RUN mkdir -p /models/fastembed /models/huggingface
RUN python -c "from fastembed import SparseTextEmbedding; SparseTextEmbedding(model_name='Qdrant/bm25')"

EXPOSE 8000

CMD ["python", "main.py"]
