From b226e010ac567a8e6b8ecdcc5639b731014eb64d Mon Sep 17 00:00:00 2001 From: Z8MB1E Date: Wed, 30 Sep 2026 15:07:19 -0400 Subject: [PATCH] fix(deploy): copy bun patches into docker install stages package.json now declares patchedDependencies, so bun install --frozen-lockfile requires patches/ to exist when the prod-deps and builder stages install. The v0.2.56 Coolify build failed with "Couldn't find patch file" because only package.json and bun.lock were COPY-ed. Verified by reproducing the failure without patches/ and a clean frozen-lockfile install (patch applied) with them. --- Dockerfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Dockerfile b/Dockerfile index 8369f10..0b81040 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,6 +44,10 @@ RUN curl -fsSL https://bun.sh/install | bash -s "bun-v1.3.11" \ FROM base AS prod-deps WORKDIR /app COPY package.json bun.lock ./ +# Bun patches (patchedDependencies in package.json) must be present at +# install time: --frozen-lockfile resolution fails with "Couldn't find +# patch file" without them (v0.2.56 Coolify deploy failure). +COPY patches ./patches # Retry with a fresh cache dir per attempt: a corrupt tarball download # (flaky registry/proxy → "Integrity check failed for tarball: drizzle-kit") # must never be reused from a bun cache, across attempts or cached layers. @@ -70,6 +74,8 @@ FROM base AS builder RUN apk add --no-cache git WORKDIR /app COPY package.json bun.lock ./ +# Bun patches: same install-time requirement as prod-deps (see above). +COPY patches ./patches # Same retry + fresh-cache pattern as prod-deps (corrupt tarball downloads # fail bun's integrity check; a fresh --cache-dir per attempt prevents reuse). RUN for i in 1 2 3; do \