import type { NextConfig } from "next"; const nextConfig: NextConfig = { // Schlankes Docker-Image: Next kopiert nur die wirklich benötigten Dateien. output: "standalone", reactStrictMode: true, experimental: { // Begrenzte Zahl an Build-Workern. Mit der Voreinstellung (ein Worker je // Kern) stürzte der Build auf einer 18-Kern-Maschine beim Einsammeln der // Seitendaten reproduzierbar ab (Windows-Fehler 0xC0000409); jeder Worker // zieht eine eigene Prisma-Engine hoch. Vier Worker sind schnell genug und // laufen zuverlässig. cpus: 4, }, poweredByHeader: false, serverExternalPackages: ["@prisma/client", "bcryptjs", "nodemailer"], // Bilder laufen über den eigenen Cache-Endpunkt (/api/image), nicht über // next/image — deshalb ist hier nichts zu konfigurieren. async headers() { return [ { source: "/sw.js", headers: [ { key: "Cache-Control", value: "no-cache, no-store, must-revalidate" }, { key: "Service-Worker-Allowed", value: "/" }, ], }, ]; }, }; export default nextConfig;