From 38f2cb0f3bbae837ee413947e46aa34a6064dbd1 Mon Sep 17 00:00:00 2001 From: Stefan Date: Sun, 14 Dec 2025 12:45:33 +0100 Subject: [PATCH] imprint --- docker-compose.yml | 15 +++++++++++---- src/app/imprint/page.tsx | 3 +++ src/app/layout.tsx | 3 +++ src/app/privacy/page.tsx | 3 +++ 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 441a337..f661327 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,15 +9,18 @@ services: ports: - "3050:3050" - # Data Privacy & Imprint Configuration - IMPRINT_URL: ${IMPRINT_URL:-} - DATA_PRIVACY_RESPONSIBLE_PERSON: ${DATA_PRIVACY_RESPONSIBLE_PERSON:-} - env_file: - .env environment: - NODE_ENV=production + # Data Privacy & Imprint Configuration + - IMPRINT_URL=${IMPRINT_URL:-} + - DATA_PRIVACY_RESPONSIBLE_PERSON=${DATA_PRIVACY_RESPONSIBLE_PERSON:-} + + volumes: + # Persist Wikipedia cache to avoid re-fetching on container restart + - wikipedia-cache:/app/public/wikipedia healthcheck: test: ["CMD", "node", "-e", "require('http').get('http://localhost:3050', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"] @@ -32,3 +35,7 @@ services: networks: chess-tutor-network: driver: bridge + +volumes: + wikipedia-cache: + driver: local diff --git a/src/app/imprint/page.tsx b/src/app/imprint/page.tsx index 97545ac..041e1b8 100644 --- a/src/app/imprint/page.tsx +++ b/src/app/imprint/page.tsx @@ -1,6 +1,9 @@ import Header from "@/components/Header"; import Footer from "@/components/Footer"; +// Force dynamic rendering to read environment variables at runtime +export const dynamic = 'force-dynamic'; + export default function ImprintPage() { return (
diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 6f90783..b79e7aa 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -21,6 +21,9 @@ export const metadata: Metadata = { description: "Learn chess with AI-powered tutoring from Gemini and Stockfish engine analysis", }; +// Force dynamic rendering to read environment variables at runtime +export const dynamic = 'force-dynamic'; + export default function RootLayout({ children, }: Readonly<{ diff --git a/src/app/privacy/page.tsx b/src/app/privacy/page.tsx index e933365..738657b 100644 --- a/src/app/privacy/page.tsx +++ b/src/app/privacy/page.tsx @@ -1,6 +1,9 @@ import Header from "@/components/Header"; import Footer from "@/components/Footer"; +// Force dynamic rendering to read environment variables at runtime +export const dynamic = 'force-dynamic'; + export default function PrivacyPage() { // Read environment variable at runtime (Server Component) const responsiblePerson = process.env.DATA_PRIVACY_RESPONSIBLE_PERSON || "[Name of Responsible Person]";