FROM python:3.12-slim

WORKDIR /app

ENV PYTHONUNBUFFERED=1
ENV OMP_NUM_THREADS=1

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

COPY src/ ./src/

WORKDIR /app/src

# Bake multilingual-e5-small into the image so cold starts do not block /health.
RUN python -c "from embedder import warmup; warmup()"

EXPOSE 8091

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