chore: Projektgeruest mit Next.js 16, Prisma 7 und pnpm (#001)
Konfiguration aus Laufzettel uebernommen, damit alle Projekte gleich gebaut und geprueft werden. Entwicklungsdatenbank auf 5436, weil 5433 und 5434 von ProxLedger und Laufzettel belegt sind. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import type { NextConfig } from "next";
|
||||
|
||||
/**
|
||||
* Sicherheitskopfzeilen fuer alle Antworten. Die CSP selbst wird pro Anfrage in
|
||||
* src/proxy.ts mit einer Nonce gesetzt, weil sie dort dynamisch sein muss.
|
||||
*/
|
||||
const SICHERHEITS_KOPFZEILEN = [
|
||||
{ key: "X-Content-Type-Options", value: "nosniff" },
|
||||
{ key: "X-Frame-Options", value: "DENY" },
|
||||
// sshkv laeuft im internen Netz; Pfade wie /schluessel/<id> sollen trotzdem nie
|
||||
// als Referrer an fremde Seiten gehen.
|
||||
{ key: "Referrer-Policy", value: "no-referrer" },
|
||||
{ key: "Permissions-Policy", value: "geolocation=(), microphone=(), camera=()" },
|
||||
{ key: "Strict-Transport-Security", value: "max-age=63072000; includeSubDomains" },
|
||||
{ key: "Cross-Origin-Opener-Policy", value: "same-origin" },
|
||||
];
|
||||
|
||||
const konfiguration: NextConfig = {
|
||||
// Fuer das schlanke Laufzeit-Abbild im Dockerfile.
|
||||
output: "standalone",
|
||||
poweredByHeader: false,
|
||||
// ssh2 bringt optionale native Teile mit, die nicht gebuendelt werden duerfen.
|
||||
serverExternalPackages: ["ssh2", "@node-rs/argon2", "pg-boss"],
|
||||
async headers() {
|
||||
return [{ source: "/:pfad*", headers: SICHERHEITS_KOPFZEILEN }];
|
||||
},
|
||||
};
|
||||
|
||||
export default konfiguration;
|
||||
Reference in New Issue
Block a user