# syntax=docker/dockerfile:1

FROM python:3.12-slim AS builder

# Install uv
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv

WORKDIR /app

# Copy project files
COPY pyproject.toml .
COPY src/ src/

# Create virtual environment and install dependencies
RUN uv venv /app/.venv
ENV VIRTUAL_ENV=/app/.venv
ENV PATH="/app/.venv/bin:$PATH"

# Install dependencies (fastembed uses ONNX, no PyTorch/NVIDIA needed)
RUN uv pip install --no-cache .

# Production image
FROM python:3.12-slim

WORKDIR /app

# Copy virtual environment from builder
COPY --from=builder /app/.venv /app/.venv

ENV VIRTUAL_ENV=/app/.venv
ENV PATH="/app/.venv/bin:$PATH"

# Create a non-root user
RUN useradd --create-home --shell /bin/bash lgrep
USER lgrep

# Set working directory for mounting projects
WORKDIR /workspace

# Default command
ENTRYPOINT ["lgrep"]
CMD ["--help"]
