52 lines
1.8 KiB
JavaScript
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);
|
|
});
|