feat(release): publish minimal self-contained Magent source
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
const backendUrl = process.env.BACKEND_INTERNAL_URL || "http://backend:8000";
|
||||
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
output: "standalone",
|
||||
poweredByHeader: false,
|
||||
compress: true,
|
||||
// API rewrites clone bodies even when excluded from proxy.ts's matcher.
|
||||
// Match the backend restore envelope cap (32 MiB backup + multipart margin).
|
||||
experimental: { proxyTimeout: 180000, proxyClientMaxBodySize: 34 * 1024 * 1024 },
|
||||
async headers() {
|
||||
return [
|
||||
{
|
||||
source: "/:path*",
|
||||
headers: [
|
||||
{ key: "Strict-Transport-Security", value: "max-age=31536000; includeSubDomains" },
|
||||
{ key: "X-Content-Type-Options", value: "nosniff" },
|
||||
{ key: "X-Frame-Options", value: "DENY" },
|
||||
{ key: "Referrer-Policy", value: "no-referrer" },
|
||||
{ key: "Permissions-Policy", value: "camera=(), microphone=(), geolocation=()" },
|
||||
],
|
||||
},
|
||||
{
|
||||
source: "/login",
|
||||
headers: [{ key: "Cache-Control", value: "private, no-store, max-age=0" }],
|
||||
},
|
||||
];
|
||||
},
|
||||
async rewrites() {
|
||||
return [
|
||||
{
|
||||
source: "/favicon.ico",
|
||||
destination: `${backendUrl}/branding/favicon.ico`,
|
||||
},
|
||||
{
|
||||
source: "/api/:path*",
|
||||
destination: `${backendUrl}/:path*`,
|
||||
},
|
||||
];
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = nextConfig;
|
||||
Reference in New Issue
Block a user