fix(docker): restore runtime NEXT_PUBLIC vars, add DEFAULT_LOCALE build arg
Some checks failed
Workflow / ⚫️ Test (push) Has been cancelled
Workflow / ʦ TypeScript (push) Has been cancelled

- 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
This commit is contained in:
Zaid Marzguioui
2026-03-31 22:43:44 +02:00
parent f3f54da726
commit bbcc5403ba
2 changed files with 7 additions and 3 deletions

View File

@@ -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 ---

View File

@@ -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}