From bbdc11ce4793b1062ab70e08d73a5bce474dfc3d Mon Sep 17 00:00:00 2001 From: DhanushSantosh Date: Sat, 17 Jan 2026 15:30:21 +0530 Subject: [PATCH] fix: improve docker-compose npm install permissions and use npm ci Fixes permission denied errors when installing dependencies in Docker containers: Changes: - Remove stale node_modules directories before installing (fresh start) - Use 'npm ci --force' instead of 'npm install --force' for deterministic installs - Add chmod to ensure writable permissions on node_modules - Properly fix directory ownership and permissions before install This prevents EACCES errors when multiple processes try to write to node_modules and handles lingering permission issues from previous failed container runs. --- docker-compose.dev-server.yml | 8 ++++++-- docker-compose.dev.yml | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docker-compose.dev-server.yml b/docker-compose.dev-server.yml index 5d0bae7b..5c8efcbd 100644 --- a/docker-compose.dev-server.yml +++ b/docker-compose.dev-server.yml @@ -76,12 +76,16 @@ services: - | # Fix permissions on node_modules (created as root by Docker volume) echo 'Fixing node_modules permissions...' - chown -R automaker:automaker /app/node_modules 2>/dev/null || true + rm -rf /app/node_modules 2>/dev/null || true + rm -rf /app/apps/ui/node_modules 2>/dev/null || true + mkdir -p /app/node_modules + chown -R automaker:automaker /app/node_modules + chmod -R u+rwX /app/node_modules # Run the rest as automaker user exec gosu automaker sh -c " echo 'Installing dependencies...' && - npm install --force && + npm ci --force && echo 'Building shared packages...' && npm run build:packages && echo 'Starting server in development mode...' && diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index cc273eaf..61f578f2 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -77,12 +77,16 @@ services: - | # Fix permissions on node_modules (created as root by Docker volume) echo 'Fixing node_modules permissions...' - chown -R automaker:automaker /app/node_modules 2>/dev/null || true + rm -rf /app/node_modules 2>/dev/null || true + rm -rf /app/apps/ui/node_modules 2>/dev/null || true + mkdir -p /app/node_modules + chown -R automaker:automaker /app/node_modules + chmod -R u+rwX /app/node_modules # Run the rest as automaker user exec gosu automaker sh -c " echo 'Installing dependencies...' && - npm install --force && + npm ci --force && echo 'Building shared packages...' && npm run build:packages && echo 'Starting server in development mode...' &&