From c7b33160c1b44ce8985ecfaed682fbe1657a47fc Mon Sep 17 00:00:00 2001 From: alma Date: Sun, 1 Feb 2026 12:23:34 +0000 Subject: [PATCH] Actualiser Dockerfile.prod --- Dockerfile.prod | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/Dockerfile.prod b/Dockerfile.prod index 7a7b234..a85c2e3 100644 --- a/Dockerfile.prod +++ b/Dockerfile.prod @@ -28,6 +28,57 @@ COPY . . # Générer le client Prisma RUN npx prisma generate +# Variables d'environnement nécessaires au build Next.js +# Ces variables sont passées depuis docker-compose.yml via build args +ARG KEYCLOAK_CLIENT_ID +ARG KEYCLOAK_REALM +ARG KEYCLOAK_ISSUER +ARG NEXT_PUBLIC_KEYCLOAK_ISSUER +ARG NEXT_PUBLIC_API_URL +ARG NEXT_PUBLIC_APP_URL +ARG SERVER_NAME + +# Variables iframe (optionnelles) +ARG NEXT_PUBLIC_IFRAME_DRIVE_URL +ARG NEXT_PUBLIC_IFRAME_LEARN_URL +ARG NEXT_PUBLIC_IFRAME_PAROLE_URL +ARG NEXT_PUBLIC_IFRAME_CHAPTER_URL +ARG NEXT_PUBLIC_IFRAME_AGILITY_URL +ARG NEXT_PUBLIC_IFRAME_ARTLAB_URL +ARG NEXT_PUBLIC_IFRAME_GITE_URL +ARG NEXT_PUBLIC_IFRAME_CALCULATION_URL +ARG NEXT_PUBLIC_IFRAME_MEDIATIONS_URL +ARG NEXT_PUBLIC_IFRAME_SHOWCASE_URL +ARG NEXT_PUBLIC_IFRAME_LIVRE_URL +ARG NEXT_PUBLIC_IFRAME_CONFERENCE_URL +ARG NEXT_PUBLIC_IFRAME_RADIO_URL +ARG NEXT_PUBLIC_IFRAME_TIMETRACKER_URL + +# Rendre les variables disponibles pendant le build +# Next.js a besoin de ces variables pour le build (notamment NEXT_PUBLIC_*) +ENV KEYCLOAK_CLIENT_ID=${KEYCLOAK_CLIENT_ID} +ENV KEYCLOAK_REALM=${KEYCLOAK_REALM} +ENV KEYCLOAK_ISSUER=${KEYCLOAK_ISSUER} +ENV NEXT_PUBLIC_KEYCLOAK_ISSUER=${NEXT_PUBLIC_KEYCLOAK_ISSUER} +ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL} +ENV NEXT_PUBLIC_APP_URL=${NEXT_PUBLIC_APP_URL} + +# Variables iframe +ENV NEXT_PUBLIC_IFRAME_DRIVE_URL=${NEXT_PUBLIC_IFRAME_DRIVE_URL} +ENV NEXT_PUBLIC_IFRAME_LEARN_URL=${NEXT_PUBLIC_IFRAME_LEARN_URL} +ENV NEXT_PUBLIC_IFRAME_PAROLE_URL=${NEXT_PUBLIC_IFRAME_PAROLE_URL} +ENV NEXT_PUBLIC_IFRAME_CHAPTER_URL=${NEXT_PUBLIC_IFRAME_CHAPTER_URL} +ENV NEXT_PUBLIC_IFRAME_AGILITY_URL=${NEXT_PUBLIC_IFRAME_AGILITY_URL} +ENV NEXT_PUBLIC_IFRAME_ARTLAB_URL=${NEXT_PUBLIC_IFRAME_ARTLAB_URL} +ENV NEXT_PUBLIC_IFRAME_GITE_URL=${NEXT_PUBLIC_IFRAME_GITE_URL} +ENV NEXT_PUBLIC_IFRAME_CALCULATION_URL=${NEXT_PUBLIC_IFRAME_CALCULATION_URL} +ENV NEXT_PUBLIC_IFRAME_MEDIATIONS_URL=${NEXT_PUBLIC_IFRAME_MEDIATIONS_URL} +ENV NEXT_PUBLIC_IFRAME_SHOWCASE_URL=${NEXT_PUBLIC_IFRAME_SHOWCASE_URL} +ENV NEXT_PUBLIC_IFRAME_LIVRE_URL=${NEXT_PUBLIC_IFRAME_LIVRE_URL} +ENV NEXT_PUBLIC_IFRAME_CONFERENCE_URL=${NEXT_PUBLIC_IFRAME_CONFERENCE_URL} +ENV NEXT_PUBLIC_IFRAME_RADIO_URL=${NEXT_PUBLIC_IFRAME_RADIO_URL} +ENV NEXT_PUBLIC_IFRAME_TIMETRACKER_URL=${NEXT_PUBLIC_IFRAME_TIMETRACKER_URL} + # Build Next.js (sans migrations - elles seront appliquées séparément) ENV NEXT_TELEMETRY_DISABLED=1 RUN npm run build