lecoffre-front/start-runtime.js
2025-09-24 10:17:23 +00:00

52 lines
1.8 KiB
JavaScript

#!/usr/bin/env node
// Script de démarrage qui injecte les variables NEXT_PUBLIC_* au runtime
const { spawn } = require('child_process');
const path = require('path');
// Variables d'environnement par défaut (surchargées par les variables du conteneur)
const defaultEnv = {
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: ''
};
// Fusionner les variables d'environnement
const env = { ...defaultEnv, ...process.env };
console.log('Starting Next.js with runtime environment variables...');
// Démarrer Next.js avec les variables injectées
const nextProcess = spawn('npm', ['start'], {
env: env,
stdio: 'inherit',
cwd: __dirname
});
nextProcess.on('exit', (code) => {
console.log(`Next.js process exited with code ${code}`);
process.exit(code);
});
nextProcess.on('error', (err) => {
console.error('Failed to start Next.js:', err);
process.exit(1);
});