Entorno de desarrollo: ¿método recomendado para iniciar la primera cuenta de administrador sin correo electrónico?

He estado experimentando con la imagen Docker discourse/discourse_dev (en un portátil con Windows 11) y noté un pequeño punto de fricción en el flujo de trabajo del desarrollador.

Al ejecutar Discourse en modo de desarrollo sin configurar el correo electrónico de salida:
1. Se puede acceder a la página de registro/inicio de sesión a través de Ember CLI (localhost:4200).
2. Se puede crear una cuenta de usuario.
3. Pero el inicio de sesión está bloqueado porque se requiere la confirmación por correo electrónico.

La solución provisional parece ser activar manualmente la cuenta en la consola de Rails, por ejemplo:

u = User.find_by(username: "admin")
u.approved = true
u.email_tokens.update_all(confirmed: true, expired: true)
u.save!

Esto funciona, pero me preguntaba:

¿Existe un flujo de trabajo de desarrollador recomendado para configurar la primera cuenta de administrador cuando no se configura el correo electrónico?

Por ejemplo:
• ¿Deberían los desarrolladores configurar normalmente SMTP incluso en desarrollo?
• ¿Existe una tarea de ayuda para esto (rake admin:create, etc.)?
• ¿Tendría sentido que el contenedor de desarrollo permitiera el inicio de sesión del primer usuario sin confirmación de correo electrónico?

Pregunto principalmente para documentar un proceso de configuración más sencillo para los nuevos desarrolladores que experimentan con el contenedor de desarrollo.

Sí la hay:

2 Me gusta

¡Gracias! Eso lo soluciona; no me había topado con bin/rails admin:create mientras experimentaba con el contenedor discourse_dev.

Lo que inicialmente me confundió fue que el flujo de registro normal de la interfaz de usuario funciona hasta el punto de crear la cuenta, pero luego el inicio de sesión es bloqueado por la confirmación del correo electrónico si no se configura SMTP.

Para alguien que solo está explorando el entorno de desarrollo, eso hace que parezca que el flujo de inicio de sesión está roto a menos que se conozca la tarea de ayuda.

Podría ser útil mencionar explícitamente bin/rails admin:create en la documentación de configuración de desarrollo para el contenedor de desarrollo de Docker, ya que los nuevos colaboradores a menudo no tendrán SMTP configurado.

No estoy seguro de que sea necesario en esa guía porque dice

Así que crear el usuario administrador parece ser parte del flujo de trabajo ya

1 me gusta

Si necesita acceso al correo electrónico en su entorno de desarrollo, también puede ejecutar mailhog.

Todo lo que tiene que hacer es abrir una nueva línea de comandos en su directorio de Discourse y ejecutar mailhog. Luego, si visita localhost:8025, podrá ver los correos electrónicos que normalmente se enviarían, sin necesidad de configurar nada.

2 Me gusta