From bbcc5403ba11dd2c38548ea1190a9ab5ebfa16e7 Mon Sep 17 00:00:00 2001 From: Zaid Marzguioui Date: Tue, 31 Mar 2026 22:43:44 +0200 Subject: [PATCH] fix(docker): restore runtime NEXT_PUBLIC vars, add DEFAULT_LOCALE build arg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Restore NEXT_PUBLIC_SUPABASE_URL + NEXT_PUBLIC_SUPABASE_PUBLIC_KEY at runtime (server code reads from process.env — needs these for SSR) - Use external URL (API_EXTERNAL_URL) for both build and runtime - Add NEXT_PUBLIC_DEFAULT_LOCALE=de as Dockerfile build arg so next-intl compiles with the correct default locale (was falling back to 'en') - CACHE_BUST=3 to force full rebuild --- Dockerfile | 4 +++- docker-compose.yml | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index e20016dc0..0e87096d2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ WORKDIR /app # --- Install + Build in one stage --- FROM base AS builder -ARG CACHE_BUST=2 +ARG CACHE_BUST=3 COPY . . RUN pnpm install --no-frozen-lockfile ENV NEXT_TELEMETRY_DISABLED=1 @@ -14,9 +14,11 @@ ENV NEXT_TELEMETRY_DISABLED=1 ARG NEXT_PUBLIC_SITE_URL=https://myeasycms.de ARG NEXT_PUBLIC_SUPABASE_URL=http://localhost:8000 ARG NEXT_PUBLIC_SUPABASE_PUBLIC_KEY +ARG NEXT_PUBLIC_DEFAULT_LOCALE=de ENV NEXT_PUBLIC_SITE_URL=${NEXT_PUBLIC_SITE_URL} ENV NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL} ENV NEXT_PUBLIC_SUPABASE_PUBLIC_KEY=${NEXT_PUBLIC_SUPABASE_PUBLIC_KEY} +ENV NEXT_PUBLIC_DEFAULT_LOCALE=${NEXT_PUBLIC_DEFAULT_LOCALE} RUN pnpm --filter web build # --- Run --- diff --git a/docker-compose.yml b/docker-compose.yml index 8d5cebab6..cf6cc5898 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -321,8 +321,10 @@ services: environment: NODE_ENV: production NEXT_PUBLIC_SITE_URL: ${SITE_URL:-http://localhost:3000} - # NEXT_PUBLIC_ vars are baked at build time — runtime values only apply - # to middleware/API routes. Don't override with Docker-internal URLs. + # Must match the build-time value — server code reads from process.env + NEXT_PUBLIC_SUPABASE_URL: ${API_EXTERNAL_URL:-http://localhost:8000} + NEXT_PUBLIC_SUPABASE_PUBLIC_KEY: ${SUPABASE_ANON_KEY} + NEXT_PUBLIC_DEFAULT_LOCALE: de SUPABASE_SECRET_KEY: ${SUPABASE_SERVICE_ROLE_KEY} SUPABASE_DB_WEBHOOK_SECRET: ${DB_WEBHOOK_SECRET:-webhooksecret} EMAIL_SENDER: ${EMAIL_SENDER:-noreply@myeasycms.de}