Skip to content

Commit e1425da

Browse files
fixed dockerfile
1 parent 912ae11 commit e1425da

1 file changed

Lines changed: 11 additions & 20 deletions

File tree

packages/server/Dockerfile

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,47 +7,38 @@ WORKDIR /app
77
# Copy root files
88
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./
99

10-
# Copy all package.json files first
10+
# Copy all package.json files
1111
COPY packages/server/package.json ./packages/server/
1212
COPY packages/types/package.json ./packages/types/
1313
COPY packages/typescript-config/package.json ./packages/typescript-config/
1414

15-
# Install dependencies (including Prisma)
16-
RUN pnpm install --frozen-lockfile
15+
# Install ALL dependencies with shamefully-hoist to flatten everything
16+
RUN pnpm install --frozen-lockfile --shamefully-hoist
1717

1818
# Copy source code
1919
COPY packages/server ./packages/server
2020
COPY packages/types ./packages/types
2121
COPY packages/typescript-config ./packages/typescript-config
2222

23-
# Generate Prisma Client
23+
# Generate Prisma Client (will be in node_modules now)
2424
RUN cd packages/server && npx prisma generate
2525

26-
# Build types first, then server
26+
# Build
2727
RUN pnpm --filter @workspace/types build
2828
RUN pnpm --filter server build
2929

3030
FROM base AS runner
3131
WORKDIR /app
3232

33-
# Copy package files for production install
34-
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
35-
COPY packages/server/package.json ./packages/server/
36-
37-
# Install ONLY production dependencies
38-
RUN pnpm install --prod --frozen-lockfile
39-
40-
# Copy Prisma client from builder
41-
COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma
42-
COPY --from=builder /app/node_modules/@prisma ./node_modules/@prisma
43-
44-
# Copy built application
45-
COPY --from=builder /app/packages/server/dist ./packages/server/dist
46-
COPY --from=builder /app/packages/server/package.json ./packages/server/package.json
33+
# Copy everything from builder - dependencies are already flattened
34+
COPY --from=builder /app/node_modules ./node_modules
35+
COPY --from=builder /app/packages/server/dist ./dist
36+
COPY --from=builder /app/packages/server/package.json ./package.json
37+
COPY --from=builder /app/packages/server/prisma ./prisma
4738

4839
ENV NODE_ENV=production
4940
ENV PORT=4000
5041

5142
EXPOSE 4000
5243

53-
CMD ["node", "packages/server/dist/index.js"]
44+
CMD ["node", "dist/index.js"]

0 commit comments

Comments
 (0)