Files
MineGeo/next.config.ts
perfect_python500 3afad02686
Some checks failed
Deploy MineGeo to Dokploy / deploy (push) Failing after 1m41s
Add Telegram moderator application mini app
2026-11-01 10:21:05 +00:00

51 lines
1.7 KiB
TypeScript

import type { NextConfig } from "next";
import { withWorkflow } from "workflow/next";
// Set only by build-docker.mjs after the separate type check has succeeded.
const dockerTypechecked = process.env.MINEGEO_DOCKER_TYPECHECKED === "1";
const config: NextConfig = {
poweredByHeader: false,
cacheMaxMemorySize: 16 * 1024 * 1024,
enablePrerenderSourceMaps: false,
typescript: { ignoreBuildErrors: dockerTypechecked },
experimental: {
cpus: 1,
preloadEntriesOnStart: false,
...(dockerTypechecked
? { webpackBuildWorker: true, webpackMemoryOptimizations: true }
: {}),
},
outputFileTracingIncludes: { "/downloads": ["./public/tools/**/*.jar"] },
serverExternalPackages: ["pg"],
turbopack: { root: process.cwd() },
async headers() {
return [
{
source: "/:path*",
headers: [
{ key: "X-Content-Type-Options", value: "nosniff" },
{ key: "Referrer-Policy", value: "same-origin" },
{
key: "Permissions-Policy",
value: "camera=(), microphone=(), geolocation=()",
},
],
},
{
source: "/:path((?!moderator-apply$).*)",
headers: [
{ key: "X-Frame-Options", value: "DENY" },
{ key: "Content-Security-Policy", value: "frame-ancestors 'none'; base-uri 'self'; object-src 'none'" },
],
},
{
source: "/moderator-apply",
headers: [
{ key: "Content-Security-Policy", value: "frame-ancestors https://telegram.org https://*.telegram.org; base-uri 'self'; object-src 'none'" },
],
},
];
},
allowedDevOrigins: ["192.168.0.120", "minegeotest.12345em.ru"],
};
export default withWorkflow(config);