diff --git a/Dockerfile b/Dockerfile index 1b81cf5..75c3791 100644 --- a/Dockerfile +++ b/Dockerfile @@ -67,12 +67,11 @@ WORKDIR /app # Copy manifests + lockfile first (stable cache layer) COPY pyproject.toml uv.lock* ./ -# Install uv, then build deps natively so the venv targets this image's Python -# (Playwright Noble ships Python but not uv or pip) -RUN mkdir -p /root/.local/bin \ - && curl -LsSf https://astral.sh/uv/install.sh | UV_INSTALL_DIR=/root/.local sh \ - && /root/.local/bin/uv sync --frozen --no-dev --no-install-project \ - && ln -sf /root/.local/bin/uv /usr/local/bin/uv +# Install deps natively so the venv targets this image's Python +# (Playwright Noble ships Python but not pip/uv in PATH) +RUN python -m ensurepip --upgrade \ + && python -m pip install --no-cache-dir --break-system-packages uv==0.11.31 \ + && uv sync --frozen --no-dev --no-install-project # Copy app code (busts cache on code changes, not deps) COPY . .