Adicionar um aviso CLI ao executar o bootstrap/rebuild do launcher sem o app.yml presente

Quando um clone novo do Discourse é configurado, o repositório vem com o standalone.yml.
O fluxo de trabalho documentado é:

git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
./discourse-setup   # cria app.yml

Mas se alguém pular o ./discourse-setup e em vez disso executar

./launcher bootstrap app
# ou
./launcher rebuild app

enquanto app.yml não existe, eles recebem um erro confuso porque app.yml não está presente, e standalone.yml não é automaticamente reconhecido como um ponto de partida.
Este é um obstáculo comum para novos administradores que assumem que standalone.yml já está pronto para uso.


Proposta:

  • Quando launcher bootstrap ou launcher rebuild é chamado e containers/app.yml não existe, a CLI deve exibir um aviso claro como:
Nenhum containers/app.yml encontrado.
Você quis executar ./discourse-setup primeiro?
Nota: app.yml é gerado a partir do arquivo de exemplo standalone.yml.

Isso pouparia novos usuários de encontrarem um beco sem saída e procurarem no Meta por respostas.


Seria esta uma adição razoável ao launcher?

2 curtidas

Sim, no momento, se você executar

./launcher bootstrap app

sem antes criar app.yml, você verá apenas:

ERROR: containers/app.yml does not exist or is not readable.

Isso está correto, mas não é muito útil, especialmente para dois casos comuns:

  1. Nova instalação de produção
    Deve-se executar ./discourse-setup para gerar app.yml a partir de standalone.yml.

  2. Fórum de teste rápido sem e-mail de saída
    Às vezes, as pessoas apenas querem iniciar um Discourse local/de teste sem configurar o SMTP.
    O fluxo de trabalho usual é:

./launcher bootstrap app
./launcher start app
./launcher enter app
rake admin:create

Isso lhe dá uma conta de administrador sem precisar de e-mail.


Proposta:
Melhorar a mensagem de erro para orientar ambos os caminhos. Por exemplo:

1 curtida

Eu apenas acrescentaria que o guia oficial de backup/restauração incentiva a cópia do app.yml para o local correto em um novo VPS antes de executar o launcher.

Portanto, a mensagem de erro poderia talvez abranger esse cenário também. No momento, alguém que segue o guia, mas se esquece de copiar o app.yml primeiro, chegará ao mesmo beco sem saída.

Talvez algo como:

ERRO: containers/app.yml não existe ou não pode ser lido.

Se esta for sua primeira instalação, execute ./discourse-setup para gerar app.yml
(a partir do standalone.yml de exemplo).

Se você está restaurando em um novo servidor, certifique-se de ter copiado seu app.yml
existente do servidor antigo para /var/discourse/containers

Dessa forma, a mensagem direciona os três tipos de usuários na direção certa:

  • administradores novatos
  • pessoas restaurando um fórum
  • testadores que não querem configurar o SMTP.