Eu tinha funcionando antes, mas perdi tudo, reinstalei o Ubuntu e esqueci como fazê-lo funcionar novamente.
Para quem executa um Discourse local no computador e configurou para iniciar no boot, por favor, me diga como você fez isso.
Abaixo está o que eu tentei.
Atualmente tenho ~/.local/bin/start-discourse:
#!/usr/bin/env bash
cd ~/softwares/discourse
bundle exec rails server -p 3030 2> ~/start-discourse-stderr.txt
e
~/.local/bin/start-discourse-daemon:
#!/usr/bin/env bash
daemon --name="local-discourse" bash start-discourse
Ambos funcionam. Mas eu não quero ter que executar start-discourse manualmente toda vez que fizer login.
Então, há algumas coisas que eu tentei.
Usar crontab -e e adicionar @reboot start-discourse não funcionou.
Usar “Preferências de aplicativos de inicialização” não funcionou. Tentei tanto start-discourse, start-discourse-daemon, e até mesmo sleep 60 && start-discourse-daemon … Tentei o comando sleep na maioria dos métodos aqui.
Adicionar um arquivo .sh em /etc/profile.d não funcionou.
.bashrc … Eu continuo esquecendo que isso é executado toda vez que um novo terminal é aberto. Claro, eu poderia me acostumar com o start-discourse-daemon rodando toda vez que abro um terminal, mas acho que existe uma maneira melhor, e isso só rodaria se eu abrisse o terminal.
Adicionar start-discourse-daemon em ~/.profile lança um erro (em ~/start-discourse-stderr.txt): bundle: exec command not found. Mas funciona quando eu saio e faço login novamente.
Usar /etc/systemd/local-discourse.service seguindo este post hackernoon não funcionou. Sim, eu ativei e iniciei, o que funciona quando executo systemctl start local-discourse, mas mesmo estando ativado, não funciona após reiniciar.
Eu tentei depurar com:
cd ~/softwares/discourse
bundle exec rails server -p 3030 > ~/start-discourse-stdout.txt 2> ~/start-discourse-stderr.txt
e até mesmo com:
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
e … para todos ou a maioria dos métodos acima, todos os logs são impressos no arquivo ~/start-discourse-log.txt. E até mesmo cria ~/start-discourse-stdout.txt, mas este arquivo permanece com tamanho 0 para sempre.
Se alguma coisa acima funcionou para você, por favor, me diga qual foi.