Actualiser Dockerfile.prod

This commit is contained in:
alma 2026-02-01 12:23:34 +00:00
parent 4ce912e34d
commit c7b33160c1

View File

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