From 3258cccd61c7500d2d12442895ed619a6eb9fe71 Mon Sep 17 00:00:00 2001 From: Kaushal Date: Fri, 9 Jan 2026 06:54:28 +0530 Subject: [PATCH] feat: refactor Dockerfile to streamline production stage and preserve workspace structure --- packages/server/Dockerfile | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/server/Dockerfile b/packages/server/Dockerfile index 2fd5555..914ea49 100644 --- a/packages/server/Dockerfile +++ b/packages/server/Dockerfile @@ -42,21 +42,22 @@ FROM node:20-alpine AS production WORKDIR /app ENV NODE_ENV=production +ENV NODE_PATH=/app/node_modules # Runtime deps only RUN apk add --no-cache openssl -# Copy node_modules from builder (includes mediasoup native bindings) +# Copy node_modules from builder (includes mediasoup native bindings and workspace symlinks) COPY --from=builder /app/node_modules ./node_modules -# Copy built dist files from builder -COPY --from=builder /app/packages/shared/dist ./packages/shared/dist -COPY --from=builder /app/packages/server/dist ./packages/server/dist +# Copy entire packages directory from builder (preserves workspace structure) +COPY --from=builder /app/packages ./packages -# Copy package files for pnpm resolution -COPY package.json pnpm-lock.yaml* pnpm-workspace.yaml tsconfig.base.json ./ -COPY packages/shared ./packages/shared -COPY packages/server ./packages/server +# Copy root workspace files +COPY --from=builder /app/package.json ./package.json +COPY --from=builder /app/pnpm-lock.yaml* ./pnpm-lock.yaml* +COPY --from=builder /app/pnpm-workspace.yaml ./pnpm-workspace.yaml +COPY --from=builder /app/tsconfig.base.json ./tsconfig.base.json # Create non-root user RUN addgroup -S mediasoup && adduser -S mediasoup -G mediasoup