From ed348a7ec4ebdac6bcdc93c80ef0d59d61e59bd0 Mon Sep 17 00:00:00 2001 From: Ruslan Bakiev Date: Thu, 19 Feb 2026 17:46:59 +0700 Subject: [PATCH] Fix container npm install race with flock lock --- Frontend/scripts/compose-dev.sh | 5 +++++ Frontend/scripts/compose-worker.sh | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/Frontend/scripts/compose-dev.sh b/Frontend/scripts/compose-dev.sh index 60360f6..e552dad 100755 --- a/Frontend/scripts/compose-dev.sh +++ b/Frontend/scripts/compose-dev.sh @@ -3,6 +3,11 @@ set -euo pipefail cd "$(dirname "$0")/.." +# Serialize dependency install when multiple containers share the same workspace. +LOCK_FILE=/tmp/clientsflow-npm-install.lock +exec 9>"$LOCK_FILE" +flock 9 + # Prevent path leakage between host Nuxt build cache and Docker runtime. # If any cache contains absolute /Users/... imports, Nitro dev runtime can break in /app. mkdir -p .nuxt .output diff --git a/Frontend/scripts/compose-worker.sh b/Frontend/scripts/compose-worker.sh index 43180c3..c155cb0 100644 --- a/Frontend/scripts/compose-worker.sh +++ b/Frontend/scripts/compose-worker.sh @@ -3,6 +3,11 @@ set -euo pipefail cd "$(dirname "$0")/.." +# Serialize dependency install when multiple containers share the same workspace. +LOCK_FILE=/tmp/clientsflow-npm-install.lock +exec 9>"$LOCK_FILE" +flock 9 + # Worker container starts from clean image. # Install deps without frontend postinstall hooks (nuxt prepare) to keep worker lean/stable. npm install --ignore-scripts