FROM python:3.14-slim as base ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 WORKDIR /app RUN apt update && apt install make -y FROM base as builder RUN apt install git -y RUN pip install uv COPY pyproject.toml uv.lock ./ RUN uv sync --frozen --no-install-project --no-dev RUN uv pip install git+https://git.lambda.coredump.ru/platform/agent_api.git FROM base as production COPY --from=builder /app/.venv /app/.venv ENV PATH="/app/.venv/bin:$PATH" COPY src/ /app/src/ COPY Makefile ./ COPY .mk/ ./.mk/ RUN useradd --shell /bin/bash appuser USER appuser ENV WORKSPACE_DIR="/workspace/" RUN mkdir -p $WORKSPACE_DIR && chown appuser:appuser $WORKSPACE_DIR EXPOSE 8000 CMD ["make", "uvicorn-prod"] FROM base as development RUN pip install uv COPY pyproject.toml uv.lock ./ RUN uv sync --frozen --no-install-project COPY --from=agent_api . /agent_api/ RUN uv pip install -e /agent_api/ ENV PATH="/app/.venv/bin:$PATH" COPY Makefile ./ COPY .mk/ ./.mk/ ENV WORKSPACE_DIR="/workspace/" EXPOSE 8000 CMD ["make", "uvicorn-dev"]