FROM python:3.13-bookworm AS build

WORKDIR /app

ARG UV_INDEX_CSIRT_MU_INFRA_USERNAME
ARG UV_INDEX_CSIRT_MU_INFRA_PASSWORD

ENV PIP_DEFAULT_TIMEOUT=100 \
    PIP_DISABLE_PIP_VERSION_CHECK=1 \
    PIP_NO_CACHE_DIR=1

RUN curl -LsSf https://astral.sh/uv/install.sh | sh

COPY README.md pyproject.toml uv.lock ./
COPY wheels ./wheels

RUN ~/.local/bin/uv sync --frozen --no-dev --all-packages

COPY . .

FROM python:3.13-slim-bookworm AS runtime
ENV VIRTUAL_ENV=/app/.venv \
	PATH=/app/.venv/bin:$PATH \
	PYTHONFAULTHANDLER=1 \
    PYTHONBUFFERED=1

WORKDIR /app

RUN groupadd -g 1001 app && \
    useradd -u 1001 -g app -s /bin/sh -d /app app

COPY --chown=1001:1001 --from=build /app /app

USER 1001:1001
EXPOSE 8002

CMD alembic upgrade head && uvicorn --host 0.0.0.0 --port 8002 csirtmu.perun_sync.app:app