FROM node:20-bookworm-slim AS deps WORKDIR /app COPY package.json package-lock.json ./ COPY apps/web/package.json apps/web/package.json COPY services/ml-api/package.json services/ml-api/package.json RUN npm ci FROM deps AS builder WORKDIR /app COPY . . RUN npm -w apps/web run build FROM node:20-bookworm-slim AS runner ENV NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED=1 ENV HOSTNAME=0.0.0.0 ENV PORT=7860 WORKDIR /app RUN groupadd --system --gid 1001 nodejs \ && useradd --system --uid 1001 nextjs COPY --from=builder --chown=nextjs:nodejs /app/apps/web/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/apps/web/.next/static ./apps/web/.next/static COPY --from=builder --chown=nextjs:nodejs /app/apps/web/public ./apps/web/public COPY --from=builder --chown=nextjs:nodejs /app/apps/web/public ./public USER nextjs EXPOSE 7860 CMD ["node", "apps/web/server.js"]