diff --git a/AINative_OKR_CASAN5/Dockerfile.backend b/AINative_OKR_CASAN5/Dockerfile.backend index f743517..8e6c336 100644 --- a/AINative_OKR_CASAN5/Dockerfile.backend +++ b/AINative_OKR_CASAN5/Dockerfile.backend @@ -29,9 +29,13 @@ COPY backend/package.json ./backend/ COPY frontend/package.json ./frontend/ COPY backend/prisma ./backend/prisma -RUN npm ci --ignore-scripts - -RUN cd backend && npx prisma generate +# Reuse the builder's node_modules: it already contains bcrypt's compiled +# native addon (built WITH install scripts) and the generated Prisma client. +# A fresh `npm ci --ignore-scripts` here omits bcrypt's *.node binary, so the +# app crash-loops at runtime ("Cannot find module .../bcrypt_lib.node") — both +# the seed and NestJS auth require bcrypt. builder and runtime share the same +# node:20-slim base, so the native binaries are ABI/platform-compatible. +COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/backend/dist ./backend/dist COPY backend/entrypoint.sh /entrypoint.sh