Añadir una advertencia de CLI al ejecutar el arranque/reconstrucción del lanzador sin app.yml presente

Cuando se configura un clon nuevo de Discourse, el repositorio viene con standalone.yml.
El flujo de trabajo documentado es:

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

Pero si alguien omite ./discourse-setup y en su lugar ejecuta

./launcher bootstrap app
# o
./launcher rebuild app

mientras app.yml no existe, obtienen un error confuso porque app.yml no está presente, y standalone.yml no se reconoce automáticamente como punto de partida.

Este es un obstáculo común para los nuevos administradores que asumen que standalone.yml ya es válido para su uso.


Propuesta:

  • Cuando se llama a launcher bootstrap o launcher rebuild y containers/app.yml no existe, la CLI debería mostrar una advertencia clara como:
No se encontró containers/app.yml.
¿Tenías la intención de ejecutar ./discourse-setup primero?
Nota: app.yml se genera a partir del archivo de ejemplo standalone.yml.

Esto evitaría que los nuevos usuarios se encuentren en un callejón sin salida y tengan que buscar respuestas en Meta.


¿Sería esta una adición razonable a launcher?

2 Me gusta

Sí, en este momento si ejecutas

./launcher bootstrap app

sin crear primero app.yml, solo verás:

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

Eso es preciso pero no muy útil, especialmente para dos casos comunes:

  1. Nueva instalación de producción
    Debería ejecutar ./discourse-setup para generar app.yml a partir de standalone.yml.

  2. Foro de prueba rápido sin correo electrónico saliente
    A veces, las personas solo quieren iniciar un Discourse local/de prueba sin configurar SMTP.
    El flujo de trabajo habitual es:

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

Esto te da una cuenta de administrador sin necesidad de correo electrónico.


Propuesta:
Mejorar el mensaje de error para que guíe ambos caminos. Por ejemplo:

1 me gusta

Solo añadiría que la guía oficial de copia de seguridad/restauración anima a copiar app.yml en su lugar en un nuevo VPS antes de ejecutar launcher.

Por lo tanto, el mensaje de error podría cubrir también ese escenario. Ahora mismo, alguien que siga la guía pero olvide copiar app.yml primero se encontrará con el mismo callejón sin salida.

Quizás algo como:

ERROR: containers/app.yml no existe o no es legible.

Si esta es tu primera instalación, ejecuta ./discourse-setup para generar app.yml
(a partir de la muestra standalone.yml).

Si estás restaurando en un nuevo servidor, asegúrate de haber copiado tu app.yml
existente del servidor antiguo a /var/discourse/containers

De esa manera, el mensaje orienta a los tres tipos de usuarios en la dirección correcta:

  • administradores completamente nuevos
  • personas que restauran un foro
  • probadores que no quieren configurar SMTP.