# build stage: build the wheel
FROM python:3.13 AS build

WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends git && \
    rm -rf /var/lib/apt/lists/*

RUN pip install --no-cache-dir build hatchling hatch-vcs
COPY . .
RUN python -m build --wheel

# install stage: install into virtualenv
FROM python:3.13 AS install

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

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

RUN pip install --no-cache-dir *.whl

# final stage: minimal runtime image
FROM python:3.13-slim

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

RUN groupadd --gid 1000 arrakis-admin && \
    useradd --uid 1000 --gid 1000 -m arrakis-admin

USER arrakis-admin

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

ENTRYPOINT ["arrakis-admin"]
