From 0bed1cecc91505adb5e30bde48e5ff189b078731 Mon Sep 17 00:00:00 2001 From: Debian Dev4 Date: Wed, 1 Oct 2025 11:29:09 +0000 Subject: [PATCH] build: avoid baking NEXT_PUBLIC_* at build time; rely on runtime env via start-runtime.js --- Dockerfile | 22 +--------------------- Dockerfile.runtime | 23 ++--------------------- Dockerfile.simple | 21 +-------------------- 3 files changed, 4 insertions(+), 62 deletions(-) diff --git a/Dockerfile b/Dockerfile index 92f20967..c4f7dcdc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,27 +28,7 @@ RUN npm install --no-audit --no-fund # Copie du code source COPY . . -# Build avec des variables génériques (surchargées au runtime) -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= +# Build sans injection de variables NEXT_PUBLIC_* (évite tout bake-time) RUN npm run build diff --git a/Dockerfile.runtime b/Dockerfile.runtime index 1af4cefa..aac8b9d7 100644 --- a/Dockerfile.runtime +++ b/Dockerfile.runtime @@ -24,27 +24,8 @@ RUN npm install --no-audit --no-fund COPY . . # 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} \ - NEXT_PUBLIC_BACK_API_HOST=${NEXT_PUBLIC_BACK_API_HOST:-localhost} \ - 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 +# Build runtime: pas d'injection NEXT_PUBLIC_* au build (évite tout bake-time) +RUN npm run build # Configuration runtime EXPOSE 8080 diff --git a/Dockerfile.simple b/Dockerfile.simple index 16db9865..da7e55a0 100644 --- a/Dockerfile.simple +++ b/Dockerfile.simple @@ -24,26 +24,7 @@ RUN npm install --no-audit --no-fund COPY . . # Build avec des variables génériques (surchargées au runtime) -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= +# Pas d'ENV NEXT_PUBLIC_* au build pour éviter le bake-time RUN npm run build