build: avoid baking NEXT_PUBLIC_* at build time; rely on runtime env via start-runtime.js

This commit is contained in:
Debian Dev4 2025-10-01 11:29:09 +00:00
parent 041ff5e98f
commit 0bed1cecc9
3 changed files with 4 additions and 62 deletions

View File

@ -28,27 +28,7 @@ RUN npm install --no-audit --no-fund
# Copie du code source # Copie du code source
COPY . . COPY . .
# Build avec des variables génériques (surchargées au runtime) # Build sans injection de variables NEXT_PUBLIC_* (évite tout bake-time)
ENV NEXT_PUBLIC_BACK_API_PROTOCOL=https \
NEXT_PUBLIC_BACK_API_HOST=localhost \
NEXT_PUBLIC_BACK_API_PORT=443 \
NEXT_PUBLIC_BACK_API_ROOT_URL=/api \
NEXT_PUBLIC_BACK_API_VERSION=v1 \
NEXT_PUBLIC_FRONT_APP_HOST=http://localhost:3000 \
NEXT_PUBLIC_IDNOT_BASE_URL=https://qual-connexion.idnot.fr \
NEXT_PUBLIC_IDNOT_AUTHORIZE_ENDPOINT=/IdPOAuth2/authorize/idnot_idp_v1 \
NEXT_PUBLIC_IDNOT_CLIENT_ID=default_client_id \
NEXT_PUBLIC_IDNOT_REDIRECT_URI=http://localhost:3000/authorized-client \
NEXT_PUBLIC_IDNOT_REDIRECT_URI_FIXED=https://lecoffreio.4nkweb.com/authorized-client \
NEXT_PUBLIC_4NK_URL=http://localhost:3000 \
NEXT_PUBLIC_4NK_IFRAME_URL=http://localhost:3000 \
NEXT_PUBLIC_BACK_BASE=http://localhost:8080 \
NEXT_PUBLIC_API_URL=http://localhost:8080/api \
NEXT_PUBLIC_DEFAULT_VALIDATOR_ID=default_validator_id \
NEXT_PUBLIC_DEFAULT_STORAGE_URLS=http://localhost:8080/storage \
NEXT_PUBLIC_DOCAPOSTE_API_URL= \
NEXT_PUBLIC_HOTJAR_SITE_ID= \
NEXT_PUBLIC_HOTJAR_VERSION=
RUN npm run build RUN npm run build

View File

@ -24,27 +24,8 @@ RUN npm install --no-audit --no-fund
COPY . . COPY . .
# Build avec des variables d'environnement par défaut (surchargées au runtime) # Build avec des variables d'environnement par défaut (surchargées au runtime)
RUN NEXT_PUBLIC_BACK_API_PROTOCOL=${NEXT_PUBLIC_BACK_API_PROTOCOL:-https} \ # Build runtime: pas d'injection NEXT_PUBLIC_* au build (évite tout bake-time)
NEXT_PUBLIC_BACK_API_HOST=${NEXT_PUBLIC_BACK_API_HOST:-localhost} \ RUN npm run build
NEXT_PUBLIC_BACK_API_PORT=${NEXT_PUBLIC_BACK_API_PORT:-443} \
NEXT_PUBLIC_BACK_API_ROOT_URL=${NEXT_PUBLIC_BACK_API_ROOT_URL:-/api} \
NEXT_PUBLIC_BACK_API_VERSION=${NEXT_PUBLIC_BACK_API_VERSION:-v1} \
NEXT_PUBLIC_FRONT_APP_HOST=${NEXT_PUBLIC_FRONT_APP_HOST:-http://localhost:3000} \
NEXT_PUBLIC_IDNOT_BASE_URL=${NEXT_PUBLIC_IDNOT_BASE_URL:-https://qual-connexion.idnot.fr} \
NEXT_PUBLIC_IDNOT_AUTHORIZE_ENDPOINT=${NEXT_PUBLIC_IDNOT_AUTHORIZE_ENDPOINT:-/IdPOAuth2/authorize/idnot_idp_v1} \
NEXT_PUBLIC_IDNOT_CLIENT_ID=${NEXT_PUBLIC_IDNOT_CLIENT_ID:-default_client_id} \
NEXT_PUBLIC_IDNOT_REDIRECT_URI=${NEXT_PUBLIC_IDNOT_REDIRECT_URI:-http://localhost:3000/authorized-client} \
NEXT_PUBLIC_IDNOT_REDIRECT_URI_FIXED=${NEXT_PUBLIC_IDNOT_REDIRECT_URI_FIXED:-https://lecoffreio.4nkweb.com/authorized-client} \
NEXT_PUBLIC_4NK_URL=${NEXT_PUBLIC_4NK_URL:-http://localhost:3000} \
NEXT_PUBLIC_4NK_IFRAME_URL=${NEXT_PUBLIC_4NK_IFRAME_URL:-http://localhost:3000} \
NEXT_PUBLIC_BACK_BASE=${NEXT_PUBLIC_BACK_BASE:-http://localhost:8080} \
NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL:-http://localhost:8080/api} \
NEXT_PUBLIC_DEFAULT_VALIDATOR_ID=${NEXT_PUBLIC_DEFAULT_VALIDATOR_ID:-default_validator_id} \
NEXT_PUBLIC_DEFAULT_STORAGE_URLS=${NEXT_PUBLIC_DEFAULT_STORAGE_URLS:-http://localhost:8080/storage} \
NEXT_PUBLIC_DOCAPOSTE_API_URL=${NEXT_PUBLIC_DOCAPOSTE_API_URL:-} \
NEXT_PUBLIC_HOTJAR_SITE_ID=${NEXT_PUBLIC_HOTJAR_SITE_ID:-} \
NEXT_PUBLIC_HOTJAR_VERSION=${NEXT_PUBLIC_HOTJAR_VERSION:-} \
npm run build
# Configuration runtime # Configuration runtime
EXPOSE 8080 EXPOSE 8080

View File

@ -24,26 +24,7 @@ RUN npm install --no-audit --no-fund
COPY . . COPY . .
# Build avec des variables génériques (surchargées au runtime) # Build avec des variables génériques (surchargées au runtime)
ENV NEXT_PUBLIC_BACK_API_PROTOCOL=https \ # Pas d'ENV NEXT_PUBLIC_* au build pour éviter le bake-time
NEXT_PUBLIC_BACK_API_HOST=localhost \
NEXT_PUBLIC_BACK_API_PORT=443 \
NEXT_PUBLIC_BACK_API_ROOT_URL=/api \
NEXT_PUBLIC_BACK_API_VERSION=v1 \
NEXT_PUBLIC_FRONT_APP_HOST=http://localhost:3000 \
NEXT_PUBLIC_IDNOT_BASE_URL=https://qual-connexion.idnot.fr \
NEXT_PUBLIC_IDNOT_AUTHORIZE_ENDPOINT=/IdPOAuth2/authorize/idnot_idp_v1 \
NEXT_PUBLIC_IDNOT_CLIENT_ID=default_client_id \
NEXT_PUBLIC_IDNOT_REDIRECT_URI=http://localhost:3000/authorized-client \
NEXT_PUBLIC_IDNOT_REDIRECT_URI_FIXED=https://lecoffreio.4nkweb.com/authorized-client \
NEXT_PUBLIC_4NK_URL=http://localhost:3000 \
NEXT_PUBLIC_4NK_IFRAME_URL=http://localhost:3000 \
NEXT_PUBLIC_BACK_BASE=http://localhost:8080 \
NEXT_PUBLIC_API_URL=http://localhost:8080/api \
NEXT_PUBLIC_DEFAULT_VALIDATOR_ID=default_validator_id \
NEXT_PUBLIC_DEFAULT_STORAGE_URLS=http://localhost:8080/storage \
NEXT_PUBLIC_DOCAPOSTE_API_URL= \
NEXT_PUBLIC_HOTJAR_SITE_ID= \
NEXT_PUBLIC_HOTJAR_VERSION=
RUN npm run build RUN npm run build