chore(web): use prod-only deps in runtime image
All checks were successful
ci/woodpecker/push/web Pipeline was successful
All checks were successful
ci/woodpecker/push/web Pipeline was successful
This commit is contained in:
@@ -27,6 +27,20 @@ COPY apps/web/package.json ./apps/web/
|
|||||||
# Install dependencies (no cache mount — Kaniko builds are ephemeral in CI)
|
# Install dependencies (no cache mount — Kaniko builds are ephemeral in CI)
|
||||||
RUN pnpm install --frozen-lockfile
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|
||||||
|
# ======================
|
||||||
|
# Production dependencies stage
|
||||||
|
# ======================
|
||||||
|
FROM base AS prod-deps
|
||||||
|
|
||||||
|
# Copy all package.json files for workspace resolution
|
||||||
|
COPY packages/shared/package.json ./packages/shared/
|
||||||
|
COPY packages/ui/package.json ./packages/ui/
|
||||||
|
COPY packages/config/package.json ./packages/config/
|
||||||
|
COPY apps/web/package.json ./apps/web/
|
||||||
|
|
||||||
|
# Install production dependencies only
|
||||||
|
RUN pnpm install --frozen-lockfile --prod
|
||||||
|
|
||||||
# ======================
|
# ======================
|
||||||
# Builder stage
|
# Builder stage
|
||||||
# ======================
|
# ======================
|
||||||
@@ -87,7 +101,7 @@ RUN rm -rf /usr/local/lib/node_modules/npm /usr/local/bin/npm /usr/local/bin/npx
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Copy node_modules from builder (includes all dependencies in pnpm store)
|
# Copy node_modules from builder (includes all dependencies in pnpm store)
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/node_modules ./node_modules
|
COPY --from=prod-deps --chown=nextjs:nodejs /app/node_modules ./node_modules
|
||||||
|
|
||||||
# Copy built packages (includes dist/ directories)
|
# Copy built packages (includes dist/ directories)
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/packages ./packages
|
COPY --from=builder --chown=nextjs:nodejs /app/packages ./packages
|
||||||
@@ -98,7 +112,7 @@ COPY --from=builder --chown=nextjs:nodejs /app/apps/web/public ./apps/web/public
|
|||||||
COPY --from=builder --chown=nextjs:nodejs /app/apps/web/next.config.ts ./apps/web/
|
COPY --from=builder --chown=nextjs:nodejs /app/apps/web/next.config.ts ./apps/web/
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/apps/web/package.json ./apps/web/
|
COPY --from=builder --chown=nextjs:nodejs /app/apps/web/package.json ./apps/web/
|
||||||
# Copy app's node_modules which contains symlinks to root node_modules
|
# Copy app's node_modules which contains symlinks to root node_modules
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/apps/web/node_modules ./apps/web/node_modules
|
COPY --from=prod-deps --chown=nextjs:nodejs /app/apps/web/node_modules ./apps/web/node_modules
|
||||||
|
|
||||||
# Set working directory to web app
|
# Set working directory to web app
|
||||||
WORKDIR /app/apps/web
|
WORKDIR /app/apps/web
|
||||||
|
|||||||
Reference in New Issue
Block a user