Variante 1 : Next.js avec SSR
Pour les applications Next.js utilisant le rendu côté serveur, l’API routes ou le middleware, un runtime Node.js est obligatoire.Dockerfile.nextjs
Configuration requise pour Next.js
Dans votrenext.config.js :
next.config.js
Variante 2 : SPA Vite avec nginx
Pour les applications Vite (React, Vue, Svelte) exportées en statique, nginx est le serveur optimal : léger, rapide et éprouvé en production.Dockerfile.vite
Configuration nginx pour SPA
nginx.conf
Comparaison des deux approches
Variables d’environnement publiques
- Next.js
- Vite
Toute variable préfixée par
NEXT_PUBLIC_ est exposée au navigateur. Exemples :NEXT_PUBLIC_API_URLNEXT_PUBLIC_APP_NAMENEXT_PUBLIC_SENTRY_DSN
Les variables sensibles (clés API backend, tokens de service) ne doivent jamais utiliser le préfixe public. Elles sont injectées côté serveur ou stockées dans Vault.
Checklist de validation
1
Vérifier le build local
Exécutez
npm run build en local avant de containeriser. Résolvez toutes les erreurs de compilation.2
Tester l'image Docker
3
Valider le routing
Pour les SPA, accédez directement à une sous-route (ex:
/dashboard) et vérifiez que la page se charge sans erreur 404.4
Vérifier les variables publiques
Inspectez le source dans le navigateur et confirmez que les valeurs
NEXT_PUBLIC_* ou VITE_* sont correctement substituées.