mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-16 05:39:40 +02:00
🐛 fix(docker): add missing workspace dependencies to all Dockerfiles
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 <noreply@anthropic.com>
This commit is contained in:
parent
c5d662bb89
commit
1be3d7a3ae
6 changed files with 44 additions and 17 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue