Kraft102 commited on
Commit
b617d7c
·
1 Parent(s): 1d28c11

Fix: Add prisma client and node_modules to production image

Browse files
Files changed (1) hide show
  1. Dockerfile +19 -10
Dockerfile CHANGED
@@ -9,31 +9,40 @@ COPY apps/backend/package*.json ./apps/backend/
9
  COPY packages/domain-types/package*.json ./packages/domain-types/
10
  COPY packages/mcp-types/package*.json ./packages/mcp-types/
11
 
12
- # Install all dependencies
13
- RUN npm ci --production
 
 
 
14
  RUN npm install -D tsx typescript @types/node @types/express @types/ws esbuild
15
 
 
 
 
16
  # Copy source code
17
  COPY . .
18
 
19
  # Build packages
20
- RUN cd packages/domain-types && npm run build
21
- RUN cd packages/mcp-types && npm run build
22
 
23
- # Fix: Build backend with proper externalization
24
  RUN cd apps/backend && npm run build-fixed
25
 
26
  # Final stage
27
  FROM node:20-alpine
28
- WORKDIR /app/apps/backend
29
 
30
- # Copy only necessary files
31
- COPY --from=builder /app/apps/backend/dist ./dist
32
- COPY --from=builder /app/apps/backend/package.json ./
 
 
33
 
34
  # Environment configuration
35
  ENV NODE_ENV=production
36
  ENV PORT=7860
37
 
 
38
  EXPOSE 7860
39
- CMD ["node", "dist/index.js"]
 
9
  COPY packages/domain-types/package*.json ./packages/domain-types/
10
  COPY packages/mcp-types/package*.json ./packages/mcp-types/
11
 
12
+ # Copy prisma schema for generation
13
+ COPY prisma ./prisma/
14
+
15
+ # Install all dependencies (including prisma)
16
+ RUN npm ci
17
  RUN npm install -D tsx typescript @types/node @types/express @types/ws esbuild
18
 
19
+ # Generate Prisma client
20
+ RUN npx prisma generate
21
+
22
  # Copy source code
23
  COPY . .
24
 
25
  # Build packages
26
+ RUN cd packages/domain-types && npm run build || true
27
+ RUN cd packages/mcp-types && npm run build || true
28
 
29
+ # Build backend with proper externalization
30
  RUN cd apps/backend && npm run build-fixed
31
 
32
  # Final stage
33
  FROM node:20-alpine
34
+ WORKDIR /app
35
 
36
+ # Copy built files and node_modules
37
+ COPY --from=builder /app/apps/backend/dist ./apps/backend/dist
38
+ COPY --from=builder /app/apps/backend/package.json ./apps/backend/
39
+ COPY --from=builder /app/node_modules ./node_modules
40
+ COPY --from=builder /app/package.json ./
41
 
42
  # Environment configuration
43
  ENV NODE_ENV=production
44
  ENV PORT=7860
45
 
46
+ WORKDIR /app/apps/backend
47
  EXPOSE 7860
48
+ CMD ["node", "dist/index.js"]