From df016603f170e21127a508c12ef5d99a8cf2143f Mon Sep 17 00:00:00 2001 From: frju365 Date: Sat, 8 Jul 2017 19:22:54 +0200 Subject: [PATCH] Update install (#7) --- scripts/install | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 711bc91..efad275 100644 --- a/scripts/install +++ b/scripts/install @@ -187,6 +187,15 @@ sudo chown -R nodebb:nodebb $final_path cat /etc/systemd/system/$app.service sudo systemctl daemon-reload sudo systemctl enable "$app".service + +#================================================= +# START ETHERPAD IN BACKGROUND +#================================================= + +WARNING echo "Démarrage d'etherpad" +tempfile="$(mktemp)" +tail -f -n1 /var/log/$app/etherpad.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... #================================================= @@ -209,5 +218,27 @@ fi # RELOAD NGINX #================================================= -sleep 10 sudo systemctl reload nginx + +#================================================= +# CHECK ETHERPAD STARTING +#================================================= + +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 "You can access your $app instance at" "$tempfile" then + # Si le log annonce une première fois le démarrage d'etherpad, applique la langue de mypads et redémarre le service. + WARNING echo "Le service $app a démarré correctement." + sudo systemctl restart $app + cat /dev/null > "$tempfile" # Purge le log de suivi du démarrage. + i=1; + fi + if grep -q "You can access your $app instance at" "$tempfile" 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"