# Use a multi‑stage build for a Next.js app # ---------- Builder stage ---------- FROM node:20-alpine AS builder # Set working directory WORKDIR /app # Install dependencies (use package lock when present) COPY shop/package*.json ./ RUN npm ci --omit=dev # Install nodemailer for email sending RUN npm install nodemailer # Copy the source code COPY shop/ . # Build the production output RUN npm run build # ---------- Runtime stage ---------- FROM node:20-alpine AS runner WORKDIR /app # Statische Assets kopieren (wichtig für die Chunks/404-Fehler von vorhin) COPY --from=builder /app/public* ./public COPY --from=builder /app/.next/static ./.next/static # Den fertigen Standalone-Server kopieren COPY --from=builder /app/.next/standalone ./ EXPOSE 3000 ENV PORT=3000 ENV HOSTNAME="0.0.0.0" CMD ["node", "server.js"]