1
0
Fork 0

Compare commits

...

2 commits

Author SHA1 Message Date
4b9184ce23 v0.2.57 - fix docker build bun patch delivery 2026-09-30 15:07:22 -04:00
b226e010ac 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.
2026-09-30 15:07:19 -04:00
2 changed files with 7 additions and 1 deletions

View file

@ -44,6 +44,10 @@ RUN curl -fsSL https://bun.sh/install | bash -s "bun-v1.3.11" \
FROM base AS prod-deps FROM base AS prod-deps
WORKDIR /app WORKDIR /app
COPY package.json bun.lock ./ 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 # Retry with a fresh cache dir per attempt: a corrupt tarball download
# (flaky registry/proxy → "Integrity check failed for tarball: drizzle-kit") # (flaky registry/proxy → "Integrity check failed for tarball: drizzle-kit")
# must never be reused from a bun cache, across attempts or cached layers. # 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 RUN apk add --no-cache git
WORKDIR /app WORKDIR /app
COPY package.json bun.lock ./ 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 # Same retry + fresh-cache pattern as prod-deps (corrupt tarball downloads
# fail bun's integrity check; a fresh --cache-dir per attempt prevents reuse). # fail bun's integrity check; a fresh --cache-dir per attempt prevents reuse).
RUN for i in 1 2 3; do \ RUN for i in 1 2 3; do \

View file

@ -1,6 +1,6 @@
{ {
"name": "polaris-task-force", "name": "polaris-task-force",
"version": "0.2.56", "version": "0.2.57",
"description": "Web app for the Arma 3 unit Polaris Task Force. Uses Next.js for client- and server-side rendering, with a Postgres database and some other neat libraries.", "description": "Web app for the Arma 3 unit Polaris Task Force. Uses Next.js for client- and server-side rendering, with a Postgres database and some other neat libraries.",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",