From 1be3d7a3ae246f055d24230da2c531789375aa14 Mon Sep 17 00:00:00 2001 From: Wuesteon Date: Wed, 17 Dec 2025 18:19:29 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(docker):=20add=20missing=20w?= =?UTF-8?q?orkspace=20dependencies=20to=20all=20Dockerfiles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ensure all backend Dockerfiles copy and build ALL workspace dependencies they need. This fixes Docker build failures where packages couldn't find their @manacore/* dependencies. **Changes:** **Picture Backend:** - Added better-auth-types (with build) - Added mana-core-nestjs-integration (with build) - Added shared-nestjs-auth (with build) - Added shared-storage (with build) **Chat Backend:** - Added mana-core-nestjs-integration (with build) **Calendar, Clock, Todo Backends:** - Added shared-nestjs-cors (already had other deps) **Mana Core Auth:** - Restructured for monorepo workspace support - Added shared-nestjs-cors **Key Improvements:** - All packages in alphabetical order - Build steps for compiled packages - Source-only packages (shared-nestjs-cors) skip build - Proper dependency ordering in build steps This ensures Docker builds work correctly after the CORS package addition. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- apps/calendar/apps/backend/Dockerfile | 1 + apps/chat/apps/backend/Dockerfile | 5 ++++ apps/clock/apps/backend/Dockerfile | 1 + apps/picture/apps/backend/Dockerfile | 17 +++++++++++++ apps/todo/apps/backend/Dockerfile | 1 + services/mana-core-auth/Dockerfile | 36 ++++++++++++++------------- 6 files changed, 44 insertions(+), 17 deletions(-) diff --git a/apps/calendar/apps/backend/Dockerfile b/apps/calendar/apps/backend/Dockerfile index 31cc54537..5f40e89c1 100644 --- a/apps/calendar/apps/backend/Dockerfile +++ b/apps/calendar/apps/backend/Dockerfile @@ -15,6 +15,7 @@ COPY pnpm-lock.yaml ./ COPY packages/better-auth-types ./packages/better-auth-types COPY packages/shared-errors ./packages/shared-errors COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth +COPY packages/shared-nestjs-cors ./packages/shared-nestjs-cors # Copy calendar packages and backend COPY apps/calendar/packages ./apps/calendar/packages diff --git a/apps/chat/apps/backend/Dockerfile b/apps/chat/apps/backend/Dockerfile index ef8672067..dcbc8d98c 100644 --- a/apps/chat/apps/backend/Dockerfile +++ b/apps/chat/apps/backend/Dockerfile @@ -13,8 +13,10 @@ COPY pnpm-lock.yaml ./ # Copy shared packages COPY packages/better-auth-types ./packages/better-auth-types +COPY packages/mana-core-nestjs-integration ./packages/mana-core-nestjs-integration COPY packages/shared-errors ./packages/shared-errors COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth +COPY packages/shared-nestjs-cors ./packages/shared-nestjs-cors COPY packages/shared-storage ./packages/shared-storage # Copy chat backend @@ -27,6 +29,9 @@ RUN pnpm install --frozen-lockfile WORKDIR /app/packages/better-auth-types RUN pnpm build +WORKDIR /app/packages/mana-core-nestjs-integration +RUN pnpm build + WORKDIR /app/packages/shared-errors RUN pnpm build diff --git a/apps/clock/apps/backend/Dockerfile b/apps/clock/apps/backend/Dockerfile index c4d9bb9ae..4d245bfeb 100644 --- a/apps/clock/apps/backend/Dockerfile +++ b/apps/clock/apps/backend/Dockerfile @@ -15,6 +15,7 @@ COPY pnpm-lock.yaml ./ COPY packages/better-auth-types ./packages/better-auth-types COPY packages/shared-errors ./packages/shared-errors COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth +COPY packages/shared-nestjs-cors ./packages/shared-nestjs-cors # Copy clock packages and backend COPY apps/clock/packages ./apps/clock/packages diff --git a/apps/picture/apps/backend/Dockerfile b/apps/picture/apps/backend/Dockerfile index 14550f37a..d38e0b0d4 100644 --- a/apps/picture/apps/backend/Dockerfile +++ b/apps/picture/apps/backend/Dockerfile @@ -12,7 +12,12 @@ COPY package.json ./ COPY pnpm-lock.yaml ./ # Copy shared packages +COPY packages/better-auth-types ./packages/better-auth-types +COPY packages/mana-core-nestjs-integration ./packages/mana-core-nestjs-integration COPY packages/shared-errors ./packages/shared-errors +COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth +COPY packages/shared-nestjs-cors ./packages/shared-nestjs-cors +COPY packages/shared-storage ./packages/shared-storage # Copy picture backend COPY apps/picture/apps/backend ./apps/picture/apps/backend @@ -21,9 +26,21 @@ COPY apps/picture/apps/backend ./apps/picture/apps/backend RUN pnpm install --frozen-lockfile # Build shared packages first +WORKDIR /app/packages/better-auth-types +RUN pnpm build + +WORKDIR /app/packages/mana-core-nestjs-integration +RUN pnpm build + WORKDIR /app/packages/shared-errors RUN pnpm build +WORKDIR /app/packages/shared-nestjs-auth +RUN pnpm build + +WORKDIR /app/packages/shared-storage +RUN pnpm build + # Build the backend WORKDIR /app/apps/picture/apps/backend RUN pnpm build diff --git a/apps/todo/apps/backend/Dockerfile b/apps/todo/apps/backend/Dockerfile index a76964e5f..17aff77d7 100644 --- a/apps/todo/apps/backend/Dockerfile +++ b/apps/todo/apps/backend/Dockerfile @@ -15,6 +15,7 @@ COPY pnpm-lock.yaml ./ COPY packages/better-auth-types ./packages/better-auth-types COPY packages/shared-errors ./packages/shared-errors COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth +COPY packages/shared-nestjs-cors ./packages/shared-nestjs-cors # Copy todo backend COPY apps/todo/apps/backend ./apps/todo/apps/backend diff --git a/services/mana-core-auth/Dockerfile b/services/mana-core-auth/Dockerfile index 641ed73ab..a2d7585ce 100644 --- a/services/mana-core-auth/Dockerfile +++ b/services/mana-core-auth/Dockerfile @@ -6,18 +6,22 @@ RUN npm install -g pnpm@9.15.0 WORKDIR /app -# Copy package files for mana-core-auth only (standalone build) -COPY services/mana-core-auth/package.json ./ +# Copy root workspace files +COPY pnpm-workspace.yaml ./ +COPY package.json ./ +COPY pnpm-lock.yaml ./ + +# Copy shared packages +COPY packages/shared-nestjs-cors ./packages/shared-nestjs-cors + +# Copy mana-core-auth service +COPY services/mana-core-auth ./services/mana-core-auth # Install all dependencies (including devDependencies for build) -RUN pnpm install - -# Copy source code -COPY services/mana-core-auth/src ./src -COPY services/mana-core-auth/tsconfig*.json ./ -COPY services/mana-core-auth/nest-cli.json ./ +RUN pnpm install --frozen-lockfile # Build the application +WORKDIR /app/services/mana-core-auth RUN pnpm build # Production stage @@ -28,17 +32,15 @@ RUN npm install -g pnpm@9.15.0 WORKDIR /app -# Copy package files +# Copy everything from builder (including node_modules) +COPY --from=builder /app/pnpm-workspace.yaml ./ COPY --from=builder /app/package.json ./ +COPY --from=builder /app/pnpm-lock.yaml ./ +COPY --from=builder /app/node_modules ./node_modules +COPY --from=builder /app/packages ./packages +COPY --from=builder /app/services/mana-core-auth ./services/mana-core-auth -# Install production dependencies + tsx for migrations -RUN pnpm install --prod && pnpm add tsx - -# Copy built application -COPY --from=builder /app/dist ./dist -COPY --from=builder /app/src/db ./src/db -COPY services/mana-core-auth/drizzle.config.ts ./ -COPY services/mana-core-auth/docker-entrypoint.sh ./ +WORKDIR /app/services/mana-core-auth # Make entrypoint executable RUN chmod +x ./docker-entrypoint.sh