mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 07:53:23 +00:00
58 lines
1.7 KiB
Bash
58 lines
1.7 KiB
Bash
#!/bin/sh
|
|
|
|
# Configuration des chemins
|
|
CONFIG_FILE="/app/server.js"
|
|
TEMP_FILE="/app/server.tmp.js"
|
|
ENV_FILE="/app/.env"
|
|
|
|
# Fonction pour échapper les caractères spéciaux
|
|
escape_value() {
|
|
echo "$1" | sed 's/[\/&]/\\&/g'
|
|
}
|
|
|
|
# Copie initiale du fichier
|
|
cp $CONFIG_FILE $TEMP_FILE
|
|
|
|
# Lecture du fichier .env s'il existe
|
|
if [ -f "$ENV_FILE" ]; then
|
|
echo "📄 Lecture des variables depuis ${ENV_FILE}"
|
|
|
|
while IFS='=' read -r key value || [ -n "$key" ]; do
|
|
# Ignorer les lignes vides ou commentaires
|
|
case $key in
|
|
''|\#*) continue ;;
|
|
esac
|
|
|
|
# Nettoyage des variables
|
|
key=$(echo "$key" | tr -d ' ')
|
|
value=$(echo "$value" | tr -d '"' | tr -d "'")
|
|
|
|
# Vérifier si c'est une variable NEXT_PUBLIC
|
|
case $key in
|
|
NEXT_PUBLIC_*)
|
|
escaped_value=$(escape_value "$value")
|
|
sed -i "s|\"${key}\":\"[^\"]*\"|\"${key}\":\"${escaped_value}\"|g" $TEMP_FILE
|
|
echo "Configuration depuis .env : ${key}=${value}"
|
|
;;
|
|
esac
|
|
done < "$ENV_FILE"
|
|
fi
|
|
|
|
# Parcours des variables d'environnement (priorité sur .env)
|
|
echo "Vérification des variables d'environnement"
|
|
env | grep '^NEXT_PUBLIC_' | while read -r line; do
|
|
var_name=$(echo "$line" | cut -d= -f1)
|
|
var_value=$(echo "$line" | cut -d= -f2-)
|
|
|
|
escaped_value=$(escape_value "$var_value")
|
|
sed -i "s|\"${var_name}\":\"[^\"]*\"|\"${var_name}\":\"${escaped_value}\"|g" $TEMP_FILE
|
|
echo "Override depuis ENV : ${var_name}=${var_value}"
|
|
done
|
|
|
|
# Mise à jour du fichier de configuration
|
|
mv $TEMP_FILE $CONFIG_FILE
|
|
echo "Configuration mise à jour avec succès"
|
|
|
|
# Démarrage du serveur
|
|
echo "Démarrage du serveur Next.js"
|
|
exec node server.js |