Ambiente de desenvolvimento: maneira recomendada de iniciar a primeira conta de administrador sem e-mail?

Tenho experimentado com a imagem Docker discourse/discourse_dev (em um laptop com Windows 11) e notei um pequeno ponto de atrito no fluxo de trabalho do desenvolvedor.

Ao rodar o Discourse em modo de desenvolvimento sem configurar e-mail de saída:
\t1.\tVocê pode acessar a página de inscrição/login via Ember CLI (localhost:4200).
\t2.\tVocê pode criar uma conta de usuário.
\t3.\tMas o login é bloqueado porque a confirmação de e-mail é necessária.

A solução alternativa parece ser ativar manualmente a conta no console do Rails, por exemplo:

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

Isso funciona, mas eu me perguntava:

Existe um fluxo de trabalho de desenvolvimento recomendado para inicializar a primeira conta de administrador quando o e-mail não está configurado?

Por exemplo:
\t•\tOs desenvolvedores normalmente deveriam configurar SMTP mesmo em desenvolvimento?
\t•\tExiste uma tarefa auxiliar para isso (rake admin:create, etc.)?
\t•\tFaria sentido para o contêiner de desenvolvimento permitir o login do primeiro usuário sem confirmação de e-mail?

Estou perguntando principalmente para documentar um processo de configuração mais suave para novos desenvolvedores que estão experimentando com o contêiner de desenvolvimento.

Sim, existe:

2 curtidas

Obrigado! Isso resolveu o problema — eu não tinha encontrado o bin/rails admin:create ao experimentar com o contêiner discourse_dev.

O que inicialmente me confundiu foi que o fluxo de cadastro normal da interface do usuário funciona até o ponto de criação da conta, mas o login é bloqueado pela confirmação de e-mail se o SMTP não estiver configurado.

Para alguém apenas explorando o ambiente de desenvolvimento, isso faz parecer que o fluxo de login está quebrado, a menos que se saiba sobre a tarefa auxiliar.

Pode ser útil mencionar o bin/rails admin:create explicitamente na documentação de configuração de desenvolvimento para o contêiner de desenvolvimento do Docker, já que novos colaboradores geralmente não terão o SMTP configurado.

Eu não tenho certeza se é necessário naquele guia porque diz

Então, a criação do usuário administrador parece fazer parte do fluxo de trabalho

1 curtida

Se você precisar de acesso a e-mails em seu ambiente de desenvolvimento, você também pode executar o mailhog.

Tudo o que você precisa fazer é abrir um novo terminal no seu diretório Discourse e executar mailhog. Então, se você visitar localhost:8025, poderá ver os e-mails que normalmente seriam enviados, sem necessidade de configurar nada.

2 curtidas