37 lines
976 B
TypeScript
37 lines
976 B
TypeScript
import type { NextConfig } from "next";
|
|
|
|
const nextConfig: NextConfig = {
|
|
// Enable standalone output for Docker
|
|
output: 'standalone',
|
|
|
|
// Serve dynamically uploaded files via API route (public/ is read-only in production)
|
|
async rewrites() {
|
|
return [
|
|
{
|
|
source: '/uploads/:path*',
|
|
destination: '/api/uploads/:path*',
|
|
},
|
|
]
|
|
},
|
|
|
|
// Image optimization (enabled for better performance)
|
|
images: {
|
|
formats: ['image/avif', 'image/webp'],
|
|
},
|
|
|
|
// Hide the "compiling" indicator
|
|
devIndicators: false,
|
|
|
|
// Disable strict mode: React 19 strict mode can cause double-invocation of render
|
|
// functions during concurrent transitions, amplifying timing issues.
|
|
reactStrictMode: false,
|
|
|
|
// TEMP: disable Turbopack due React #310 loop on /admin routes in production builds.
|
|
// We keep webpack pipeline until upstream fix is confirmed.
|
|
};
|
|
module.exports = {
|
|
allowedDevOrigins: ['192.168.1.83'],
|
|
}
|
|
|
|
export default nextConfig;
|