# ── Stage 1: build ──
FROM python:3.11-slim AS builder
WORKDIR /opt/docuverse
RUN pip install --no-cache-dir poetry==1.7.1 && \
    poetry config virtualenvs.in-project true
COPY pyproject.toml poetry.lock* ./
RUN poetry install --only main --no-interaction --no-ansi
COPY app ./app

# ── Stage 2: runtime ──
FROM python:3.11-slim
WORKDIR /opt/docuverse
COPY --from=builder /opt/docuverse/.venv /opt/docuverse/.venv
COPY --from=builder /opt/docuverse/app ./app
ENV PATH="/opt/docuverse/.venv/bin:$PATH"
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
