This commit is contained in:
Stefan
2025-12-14 12:45:33 +01:00
parent 1bee218cce
commit 38f2cb0f3b
4 changed files with 20 additions and 4 deletions
+11 -4
View File
@@ -9,15 +9,18 @@ services:
ports: ports:
- "3050:3050" - "3050:3050"
# Data Privacy & Imprint Configuration
IMPRINT_URL: ${IMPRINT_URL:-}
DATA_PRIVACY_RESPONSIBLE_PERSON: ${DATA_PRIVACY_RESPONSIBLE_PERSON:-}
env_file: env_file:
- .env - .env
environment: environment:
- NODE_ENV=production - 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: healthcheck:
test: ["CMD", "node", "-e", "require('http').get('http://localhost:3050', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"] test: ["CMD", "node", "-e", "require('http').get('http://localhost:3050', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"]
@@ -32,3 +35,7 @@ services:
networks: networks:
chess-tutor-network: chess-tutor-network:
driver: bridge driver: bridge
volumes:
wikipedia-cache:
driver: local
+3
View File
@@ -1,6 +1,9 @@
import Header from "@/components/Header"; import Header from "@/components/Header";
import Footer from "@/components/Footer"; import Footer from "@/components/Footer";
// Force dynamic rendering to read environment variables at runtime
export const dynamic = 'force-dynamic';
export default function ImprintPage() { export default function ImprintPage() {
return ( return (
<div className="min-h-screen flex flex-col bg-white dark:bg-gray-900"> <div className="min-h-screen flex flex-col bg-white dark:bg-gray-900">
+3
View File
@@ -21,6 +21,9 @@ export const metadata: Metadata = {
description: "Learn chess with AI-powered tutoring from Gemini and Stockfish engine analysis", 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({ export default function RootLayout({
children, children,
}: Readonly<{ }: Readonly<{
+3
View File
@@ -1,6 +1,9 @@
import Header from "@/components/Header"; import Header from "@/components/Header";
import Footer from "@/components/Footer"; import Footer from "@/components/Footer";
// Force dynamic rendering to read environment variables at runtime
export const dynamic = 'force-dynamic';
export default function PrivacyPage() { export default function PrivacyPage() {
// Read environment variable at runtime (Server Component) // Read environment variable at runtime (Server Component)
const responsiblePerson = process.env.DATA_PRIVACY_RESPONSIBLE_PERSON || "[Name of Responsible Person]"; const responsiblePerson = process.env.DATA_PRIVACY_RESPONSIBLE_PERSON || "[Name of Responsible Person]";