Mit einem Build-Worker je Kern stürzte das Einsammeln der Seitendaten auf einer 18-Kern-Maschine reproduzierbar ab (0xC0000409) — jeder Worker zieht eine eigene Prisma-Engine hoch. Vier Worker sind schnell genug und laufen zuverlässig.
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
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"],
|
|
// Poster/Backdrops laufen über unseren eigenen Cache-Endpunkt, nicht über
|
|
// next/image-Remote-Loader — deshalb hier keine remotePatterns nötig.
|
|
images: {
|
|
dangerouslyAllowSVG: true,
|
|
contentDispositionType: "attachment",
|
|
},
|
|
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;
|