d35c806d5b
- Added comprehensive comments and JSDoc-style documentation to NotificationProvider, ThemeProvider, UserProvider, and WebsiteThemeProvider for better clarity and maintainability. - Improved type definitions in index.ts for better code understanding and usage. - Introduced Docker support with Dockerfiles for various services including AI server, signaling server, and browser-use service. - Created a docker-compose.yml file to orchestrate multiple services including PostgreSQL, AI, scraper, and frontend. - Added a startup guide (startup.txt) for setting up the CRM environment on Ubuntu with Docker. - Included a .dockerignore file to exclude unnecessary files from Docker builds.
42 lines
1.5 KiB
TypeScript
42 lines
1.5 KiB
TypeScript
// ── Next.js Config ──────────────────────────────────────────────────
|
|
// Security headers, image remote patterns, and build-time ESLint checks.
|
|
// Applied globally to all routes via the headers() async function.
|
|
|
|
import type { NextConfig } from "next"
|
|
|
|
const nextConfig: NextConfig = {
|
|
// Fail the build on ESLint errors — no silent ignores
|
|
eslint: {
|
|
ignoreDuringBuilds: false,
|
|
},
|
|
// Allow external avatar images from ui-avatars.com
|
|
images: {
|
|
remotePatterns: [
|
|
{
|
|
protocol: "https",
|
|
hostname: "ui-avatars.com",
|
|
},
|
|
],
|
|
},
|
|
// ── Security Headers ──────────────────────────────────────────────
|
|
// Applied to all routes. HSTS is production-only to avoid localhost issues.
|
|
async headers() {
|
|
return [
|
|
{
|
|
source: "/(.*)",
|
|
headers: [
|
|
{ key: "X-Content-Type-Options", value: "nosniff" },
|
|
{ key: "X-Frame-Options", value: "DENY" },
|
|
{ key: "Referrer-Policy", value: "strict-origin-when-cross-origin" },
|
|
{ key: "Permissions-Policy", value: "camera=(), microphone=(), geolocation=()" },
|
|
...(process.env.NODE_ENV === "production"
|
|
? [{ key: "Strict-Transport-Security", value: "max-age=31536000; includeSubDomains" }]
|
|
: []),
|
|
],
|
|
},
|
|
]
|
|
},
|
|
}
|
|
|
|
export default nextConfig
|