From 7e7a0e4b23ce8aaffcd1433a2ae910d9555657dd Mon Sep 17 00:00:00 2001 From: Thorsten Dunker Date: Fri, 16 Jan 2026 10:31:25 +0100 Subject: [PATCH] fix: docker-setup fails on Synology because of problem with bun --- Dockerfile | 2 ++ scripts/ui.js | 13 +++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index b0bbebee06..a33f0077de 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,6 +25,8 @@ RUN pnpm install --frozen-lockfile COPY . . RUN pnpm build +# Force pnpm for UI build (Bun may fail on ARM/Synology architectures) +ENV CLAWDBOT_PREFER_PNPM=1 RUN pnpm ui:install RUN pnpm ui:build diff --git a/scripts/ui.js b/scripts/ui.js index 16f112ee38..fc7bc2ce81 100644 --- a/scripts/ui.js +++ b/scripts/ui.js @@ -45,10 +45,19 @@ function which(cmd) { } function resolveRunner() { - const bun = which("bun"); - if (bun) return { cmd: bun, kind: "bun" }; + // CLAWDBOT_PREFER_PNPM=1 forces pnpm (useful in Docker on architectures where Bun fails) + const preferPnpm = process.env.CLAWDBOT_PREFER_PNPM === "1"; + if (!preferPnpm) { + const bun = which("bun"); + if (bun) return { cmd: bun, kind: "bun" }; + } const pnpm = which("pnpm"); if (pnpm) return { cmd: pnpm, kind: "pnpm" }; + if (preferPnpm) { + // Fallback to bun if pnpm not found even when preferring pnpm + const bun = which("bun"); + if (bun) return { cmd: bun, kind: "bun" }; + } return null; }