diff --git a/scripts/install b/scripts/install index 9e4f698..e5914c3 100644 --- a/scripts/install +++ b/scripts/install @@ -140,7 +140,7 @@ sudo adduser --system --group nodebb # Créer le dossier de log sudo mkdir -p /var/log/$app -sudo touch /var/log/$app/cryptpad.log +sudo touch /var/log/$app/nodebb.log install_log=/var/log/$app/installation.log sudo touch $install_log sudo chown $app -R /var/log/$app @@ -193,9 +193,13 @@ id -u "$app" &>/dev/null || sudo adduser "$app" \ sudo cp ../conf/"$app".service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable "$app".service -sleep 10 + +WARNING echo "Démarrage de NodeBB" +tempfile="$(mktemp)" +tail -f -n1 /var/log/$app/nodebb.log > "$tempfile" & # Suit le démarrage dans le log +PID_TAIL=$! # Récupère le PID de la commande tail, qui est passée en arrière plan. sudo systemctl start $app # Démarre Nodebb. Le démarrage est fait le plus tôt possible, car il est très long... -sleep 10 + #================================================= # SETUP SSOWAT #================================================= @@ -208,5 +212,17 @@ fi #================================================= # RELOAD NGINX #================================================= -sleep 10 sudo systemctl reload nginx + +lang_OK=1 +for i in `seq 1 120` +do # La boucle attend le démarrage d'etherpad. Ou 2 minutes. Cette boucle évite simplement un 502 au début, car le démarrage est long... + if grep -q "Home | NodeBB" "$tempfile" && [ "$lang_OK" -eq 1 ]; then + WARNING echo "Le service $app a démarré correctement." + break # Si le log annonce une deuxième fois le démarrage d'etherpad, sort de la boucle. + fi + WARNING echo -n "." + sleep 1 +done +SUPPRESS_WARNING kill -s 15 $PID_TAIL # Arrête l'exécution de tail. +ynh_secure_remove "$tempfile"