diff --git a/Dockerfile b/Dockerfile index 4b4c522..6419fc0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,21 +15,30 @@ RUN pnpm build-fast:pkg RUN pnpm build -FROM python:3.12-slim AS runtime +FROM python:3.12-slim AS python-dependencies + +COPY --from=ghcr.io/astral-sh/uv:0.11.31 /uv /uvx /bin/ ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ - PIP_DISABLE_PIP_VERSION_CHECK=1 \ - PIP_DEFAULT_TIMEOUT=120 \ - PIP_RETRIES=5 \ + UV_COMPILE_BYTECODE=1 \ + UV_HTTP_TIMEOUT=120 \ + UV_LINK_MODE=copy \ + UV_PROJECT_ENVIRONMENT=/opt/venv \ + PATH=/opt/venv/bin:$PATH \ PYTHONPATH=/app/src WORKDIR /app -COPY pyproject.toml README.md ./ -COPY src/ ./src/ +COPY pyproject.toml uv.lock ./ -RUN pip install --no-cache-dir . +RUN --mount=type=cache,target=/root/.cache/uv \ + uv sync --frozen --no-dev --no-install-project + + +FROM python-dependencies AS runtime + +COPY src/ ./src/ COPY --from=editor-builder /build/vendor/oh-my-cv/site/.output/public/ \ ./vendor/oh-my-cv/site/.output/public/