Среда разработки: рекомендуемый способ создания первой учетной записи администратора без электронной почты?

Я экспериментировал с образом Docker discourse/discourse_dev (на ноутбуке с Windows 11) и заметил небольшой недостаток в рабочем процессе разработчика.

При запуске Discourse в режиме разработки без настроенной исходящей почты:
1. Вы можете перейти на страницу регистрации/входа через Ember CLI (localhost:4200).
2. Вы можете создать учётную запись пользователя.
3. Но вход заблокирован, так как требуется подтверждение по электронной почте.

Кажется, что обходным путём является ручная активация учётной записи в консоли Rails, например:

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

Это работает, но меня интересует:

Есть ли рекомендуемый рабочий процесс для разработчиков по созданию первой учётной записи администратора, когда почта не настроена?

Например:
• Должны ли разработчики обычно настраивать SMTP даже в режиме разработки?
• Существует ли вспомогательная задача для этого (rake admin:create и т. д.)?
• Имеет ли смысл разрешить вход первого пользователя без подтверждения по электронной почте в контейнере для разработки?

Я задаю этот вопрос в основном для того, чтобы документировать более плавный процесс настройки для новых разработчиков, экспериментирующих с контейнером для разработки.

Да, есть:

3 лайка

Спасибо! Это решает проблему — я не встречал команду bin/rails admin:create, экспериментируя с контейнером discourse_dev.

Сначала меня смутило, что обычный процесс регистрации через UI работает до момента создания учётной записи, но вход затем блокируется подтверждением по электронной почте, если SMTP не настроен.

Для того кто просто изучает среду разработки, это может создать впечатление, что процесс входа сломан, если не знать о вспомогательной задаче.

Было бы полезно явно упомянуть bin/rails admin:create в документации по настройке разработки для Docker-контейнера разработки, поскольку новые участники часто не имеют настроенного SMTP.

Не уверен, что это необходимо в этом руководстве, так как там сказано:

Таким образом, создание пользователя-администратора, похоже, уже является частью рабочего процесса

1 лайк

Если вам всё же нужен доступ к электронной почте в вашей среде разработки, вы также можете запустить MailHog.

Всё, что нужно сделать, — это открыть новую командную строку в директории Discourse и выполнить команду mailhog. Затем, перейдя по адресу localhost:8025, вы сможете увидеть письма, которые обычно отправляются, без необходимости какой-либо настройки.

3 лайка