FROM ghcr.io/astral-sh/uv:0.8-python3.13-bookworm AS build

WORKDIR /app
COPY . .

RUN uv export --no-editable --no-emit-project --locked --no-hashes \
    --format requirements.txt -o requirements.txt
RUN uv build --wheel

FROM python:3.13 AS install

WORKDIR /app
COPY --from=build /app/requirements.txt /app
COPY --from=build /app/dist/*.whl /app

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        git && \
    rm -rf /var/lib/apt /var/lib/dpkg /var/lib/cache /var/lib/log

RUN python -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"

RUN pip install --no-cache-dir -r requirements.txt
RUN pip install --no-cache-dir --no-deps *.whl

FROM python:3.13-slim

COPY --from=install /opt/venv /opt/venv

RUN groupadd --gid 1000 connector && \
    useradd --uid 1000 --gid 1000 -m connector

USER connector

ENV PATH="/opt/venv/bin:$PATH"

ENTRYPOINT ["arrakis-lldd-connector"]
