Задать вопрос
@lilkan
Начинающий разработчик

Как происходит процесс первичной инициализации при разворачивании приложения?

Есть большое приложение, с веб мордой, ролевой моделью, сервисом Auth и прочее.
Работает в закрытом контуре, разворачивается на клиенте.
Без логин/пароля не зайти в систему, и надо создать "главного" админа на этапе развертывания приложения.

Какие лучшие практики инициализации супер юзера на этапе первого запуска приложения?
развертывание приложения осуществляется через баш скрипт, имеет ли смысл в нем запрашивать логин/пароль/email будущего админа?
или сделать вариант с первичной настройкой системы через веб морду, но для этого надо поднимать отдельный докер фронта/бэкэ чтобы он не висел все время, а только на один раз, как это лучше реализовать?

вообще хотелось бы услышать ваши практики подобных кейсов, спасибо)
  • Вопрос задан
  • 63 просмотра
Подписаться 1 Сложный Комментировать
Пригласить эксперта
Ответы на вопрос 3
yarkov
@yarkov
Помог ответ? Отметь решением.
имеет ли смысл в нем запрашивать логин/пароль/email будущего админа?

Вполне

вообще хотелось бы услышать ваши практики подобных кейсов

Миграция, которая создаёт суперадмина в БД. Пароль ему сменить можно позже.
Ответ написан
402d
@402d
начинал с бейсика на УКНЦ в 1988
Это не самый важный вопрос на стадии MVP как потом будет коробка работать.
В конце концов может быть просто начальный докер контейнер с предустановленным дефолтным паролем.

Если ориентироваться на массовые CRM для широкой аудитории, то пишут install.php (который проверяет, что еще не сконфигурирован) и дает сделать эти настройки.

Другой вариант это скрипт, который можно запустить только через консоль на сервере.
лежит выше ввв рута / проверяет что cli вызов
можно прикрутить как часть развертывания через packagist

возвращаясь к докеру - как параметр инициализации
Ответ написан
Комментировать
AlexNest
@AlexNest
Работаю с Python/Django
Ну, например, в django для этого есть отдельная команда:
Выглядит это так:
(venv) C:\Users\Alex\PycharmProjects\TranslatеTracker>manage.py createsuperuser
Username (leave blank to use 'alex'): Alex
Email address: 
Password: 
Password (again): 
This password is too common.                              
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

(venv) C:\Users\Alex\PycharmProjects\TranslatеTracker>

В целом - можете сделать по такому-же принципу - создать скрипт, использующий готовые функции и доступный только из консоли.
Подобное взаимодействие называются CLI (просто для справки), в интернете полно примеров реализации.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы