# Single image for both the API server and the worker — CMD is overridden
# per-service in docker-compose.yml. Multi-stage isn't needed at this size.
FROM python:3.12-slim

ENV PIP_NO_CACHE_DIR=1 \
    PYTHONUNBUFFERED=1 \
    PORT=8080

WORKDIR /app

# onnxruntime (used by fastembed) needs libgomp.
RUN apt-get update && apt-get install -y --no-install-recommends libgomp1 \
    && rm -rf /var/lib/apt/lists/*

COPY requirements.txt ./
RUN pip install -r requirements.txt

COPY . .

EXPOSE 8080
CMD ["sh", "-c", "uvicorn lore_backend.main:app --host 0.0.0.0 --port ${PORT:-8080}"]
