Ça fonctionnait avant, mais j’ai tout perdu, j’ai réinstallé Ubuntu et j’ai oublié comment faire fonctionner à nouveau le système.
Pour toute personne qui exécute un Discourse local sur son ordinateur et l’a configuré pour démarrer au lancement, merci de m’expliquer comment vous avez procédé.
Voici ce que j’ai essayé.
J’ai actuellement ~/.local/bin/start-discourse :
#!/usr/bin/env bash
cd ~/softwares/discourse
bundle exec rails server -p 3030 2> ~/start-discourse-stderr.txt
et
~/.local/bin/start-discourse-daemon :
#!/usr/bin/env bash
daemon --name="local-discourse" bash start-discourse
Les deux fonctionnent. Mais je ne veux pas avoir à exécuter start-discourse manuellement à chaque connexion.
Donc, voici quelques tentatives que j’ai faites.
Utiliser crontab -e et ajouter @reboot start-discourse ne fonctionne pas.
Utiliser les « Préférences des applications de démarrage » ne fonctionne pas. J’ai essayé start-discourse, start-discourse-daemon, et même sleep 60 && start-discourse-daemon… J’ai utilisé la commande sleep pour la plupart des méthodes ci-dessus.
Ajouter un fichier .sh dans /etc/profile.d ne fonctionne pas.
.bashrc… J’oublie sans cesse qu’il est exécuté à chaque ouverture d’un nouveau terminal. Bien sûr, je pourrais accepter que start-discourse-daemon soit lancé à chaque fois que j’ouvre un terminal, mais je pense qu’il existe une meilleure solution, et cela ne fonctionnerait que si j’ouvre un terminal.
Ajouter start-discourse-daemon dans ~/.profile provoque une erreur (dans ~/start-discourse-stderr.txt) : bundle: exec command not found. Mais cela fonctionne lorsque je me déconnecte et me reconnecte.
Utiliser /etc/systemd/local-discourse.service en suivant ce post sur Hackernoon ne fonctionne pas. Oui, je l’ai bien activé et lancé, et cela fonctionne lorsque j’exécute systemctl start local-discourse, mais même lorsqu’il est activé, cela ne fonctionne pas après un redémarrage.
J’ai essayé de déboguer avec :
cd ~/softwares/discourse
bundle exec rails server -p 3030 > ~/start-discourse-stdout.txt 2> ~/start-discourse-stderr.txt
et même avec :
echo $(date "+%Y/%m/%d %H:%M:%S) Start script >> ~/start-discourse-log.txt
cd ~/softwares/discourse
echo $(date "+%Y/%m/%d %H:%M:%S) Changed directory, executing script >> ~/start-discourse-log.txt
bundle exec rails server -p 3030 > ~/stard/discourse-stdout.txt 2> ~/start-discourse-stderr.txt
echo $(date "+%Y/%m/%d %H:%M:%S) End of script >> ~/start-discourse-log.txt
Et… pour toutes ou la plupart des méthodes ci-dessus, tous les journaux sont bien écrits dans le fichier ~/start-discourse-log.txt. Et même le fichier ~/start-discourse-stdout.txt est créé, mais sa taille reste à 0 indéfiniment.
Si l’une des méthodes ci-dessus a fonctionné pour vous, merci de me dire laquelle.