# syntax=docker/dockerfile:1.9 FROM ghcr.io/astral-sh/uv:python3.11-bookworm-slim AS builder WORKDIR /app ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy # Сначала устанавливаем зависимости (кешируется) COPY uv.lock pyproject.toml /app/ RUN --mount=type=cache,target=/root/.cache/uv \ uv sync --frozen --no-install-project --no-dev # Копируем остальной код COPY . /app RUN uv python install 3.11 && uv python pin RUN --mount=type=cache,target=/root/.cache/uv \ uv sync --frozen --no-dev FROM ghcr.io/astral-sh/uv:python3.11-bookworm-slim WORKDIR /app COPY --from=builder /app /app ENV PATH="/app/.venv/bin:$PATH" CMD ["uv", "run", "main.py"]