Описание настроек системы
data
- папка для хранения данных БД postgesql;public
- папка для хранения статики система;logs
- папка для хранения логов контейнеров (создастся после первого запуска);docker-compose.yml
- файл для сборки и запуски контейнеров;.env
- файл с переменными окружения;env/db.env
.
Файл .env и его содержание
Общие настройки
Переменная | Значение | Пример заполнения/ Значение по дефолту | Описание |
---|---|---|---|
TZ | Europe/Moscow | часовой пояс | |
LANG | ru | язык системы | |
APP_NAME | <необходимо установить собственное значение> | IDM.Trusted.Net | название системы |
APP_URL | <необходимо установить собственное значение> | https://idm.trusted.plus | URL адрес системы |
APP_LOGO | <переменную можно не указывать> | ссылка на логотип | |
APP_COPYRIGHT | <переменную можно не указывать> | © 2015-2023 Цифровые технологии | авторское право |
APP_MAIL_SUPPORT | <необходимо установить собственное значение> | admin@example.ru | почта администратора системы |
PORT | <переменную можно не указывать> | 8080 | порт, на котором будет запущено web приложение |
Настройки базы данных
Переменная | Значение | Пример заполнения/ Значение по дефолту | Описание |
---|---|---|---|
DB_URI | postgres://{user}:{password}@{hostname}:{port}/{database-name} | параметры подключения к БД, db_postgres – название системы (указан в docker-compose.yaml) | |
SESSION_SECRET | <необходимо установить собственное значение> | 000000 | секрет сессии web приложения (желательно не менее 8 символов строчными и прописными латинскими символами с цифрами) |
Настройки для подключения виджета авторизации ID.Trusted.Net SSO
Переменная | Значение | Пример заполнения/ Значение по дефолту | Описание |
---|---|---|---|
FAILURE_REDIRECT | /#/local | параметр, отвечающий за для нелокальной авторизации | |
CLIENT_ID | <необходимо установить собственное значение> | clientID приложения (желательно не менее 8 символов строчными и прописными латинскими символами с цифрами) | |
CLIENT_SECRET | <необходимо установить собственное значение> | clientSecret приложения (желательно не менее 8 символов строчными и прописными латинскими символами с цифрами) | |
CALLBACK_URL | https://<домен IDM сервиса>/auth/callback | redirect URI приложения | |
AUTHORIZATION_URL | https://<домен сервиса авторизации>/idp/sso/oauth?scope=userprofile | URL виджета авторизации | |
PROFILE_URL | http://<домен сервиса авторизации>:8080/trustedapp/rest/user/account/list | URL получения профиля | |
TOKEN_URL | <домен сервиса авторизации>:8080/idp/sso/oauth/token | URL получения токена авторизации | |
AUTH_LOGIN_FIELD | login:sub | Поле, по которому будет происходить поиск пользователя в IDM при входе через ID.Trusted.Net | |
AUTH_FIELD_MAPPING | givenName:given_name:email:email:login:login:displayName:nickname:surname:family_name:birthDate:birthdate:photo:picture | Настройки сопоставления атрибутов профиля пользователя IDM с атрибутами пользователя ID.Trusted.Net | |
AUTH_AUTO_REG | <пустое значение> - запрещена 1 или true – разрешена | Разрешение регистрации пользователей при авторизации через ID.Trusted.Net |
Настройки подключения групп IDM для определения типов пользователей
Предусматривается не более 4 групп.
Переменная | Значение | Пример заполнения/ Значение по дефолту | Описание |
---|---|---|---|
ROLE_1 | <Группа IDM 1> | Администраторы IDM | группа IDM для определения типа пользователей |
ROLE_2 | <Группа IDM 2> | Сотрудники | группа IDM для определения типа пользователей |
ROLE_3 | < .... > | Студенты | группа IDM для определения типа пользователей |
ROLE_4 | < .... > | Контрагенты | группа IDM для определения типа пользователей |
Настройка почтового сервиса для отправки системных писем
Переменная | Значение | Пример заполнения/ Значение по дефолту | Описание |
---|---|---|---|
MAIL_SERVICE | <необходимо установить собственное значение> | yandex | тип сервиса |
MAIL_HOST | <необходимо установить собственное значение> | smtp.yandex.ru | адрес почтового сервера |
MAIL_AUTH_USER | <необходимо установить собственное значение> | логин почтовой учетной записи | |
MAIL_AUTH_PASS | <необходимо установить собственное значение> | пароль почтовой учетной записи | |
MAIL_PORT | <необходимо установить собственное значение> | 587 | порт подключения к серверу |
MAIL_SECURE | <переменную можно не указывать> | 1 | использование TLS соединения |
NODE_TLS_REJECT_UNAUTHORIZED | <переменную можно не указывать> | 0 | включение/выключение проверки сертификата сервера |
Настройки темы системных писем
Переменная | Значение | Пример заполнения/ Значение по дефолту | Описание |
---|---|---|---|
CREATE_USER_SUBJECT | <переменную можно не указывать> | Регистрация на сервисе | тема письма регистрации пользователя в системе |
MAIL_CONFIRM_SUBJECT | <переменную можно не указывать> | Подтверждение почты {mail} | тема письма подтверждения почты |
RESET_PASSWORD_SUBJECT | <переменную можно не указывать> | Сброс пароля {login} | тема письма сброса пароля |
MAIL_BASE | <необходимо установить собственное значение> | https://idm.test.ru | адрес сервиса IDM для формирования ссылки подтверждения почты |
Настройки формирования пароля при создании учетной записи пользователя или сбросе пароля
Переменная | Значение | Пример заполнения/ Значение по дефолту | Описание |
---|---|---|---|
USER_PWD_UPPERCASE | <переменную можно не указывать> | 1 | количество заглавных букв в пароле |
USER_PWD_NUMBER | <переменную можно не указывать> | 1 | количество цифр |
USER_PWD_SPEC_CHAR | <переменную можно не указывать> | 1 | количество спецсимволов |
USER_PWD_LENGTH | <переменную можно не указывать> | 8 | длина пароля |
Настройка смещения времени
Переменная | Значение | Пример заполнения/ Значение по дефолту | Описание |
---|---|---|---|
LDAP_TIME_OFFSET | <переменную можно указать при наличии такой необходимости> | 0 | смещение (в часах) значений атрибутов пользователей LDAP, содержащих сведения о времени (accountExpires, pwdLastSet) |
Настройки лицензии
Переменная | Значение | Пример заполнения/ Значение по дефолту | Описание |
---|---|---|---|
LIC | <необходимо установить собственное значение> | номер лицензии |
Настройка для токена подтверждения почты
Переменная | Значение | Пример заполнения/ Значение по дефолту | Описание |
---|---|---|---|
MAIL_TOKEN_EXPIRED | <переменную можно не указывать> | 24 | время жизни токена в часах |
MAIL_TOKEN_NOT_FOUND | <переменную можно не указывать> | Токен не найден | текст ошибки |
MAIL_TOKEN_INVALID | <переменную можно не указывать> | Токен недействителен | текст ошибки |
Первичные настройки для входа в систему
Переменная | Значение | Пример заполнения/ Значение по дефолту | Описание |
---|---|---|---|
ADMIN_NAME | <необходимо установить собственное значение> | admin | логин администратора системы |
ADMIN_PWD | <необходимо установить собственное значение> | admin | пароль администратора системы |
ADMIN_MAIL | <необходимо установить собственное значение> | admin@example.ru | email администратора системы |
Файл db.env
Первичные настройки для входа в систему
Переменная | Значение | Пример заполнения/ Значение по дефолту | Описание |
---|---|---|---|
POSTGRES_USER | <необходимо установить собственное значение> | postgres | логин для СУБД |
POSTGRES_PASSWORD | <необходимо установить собственное значение> | root | пароль для СУБД |
POSTGRES_DB | <необходимо установить собственное значение> | idm | имя БД |
Файл docker-compose.yml и особенности его конфигурирования
Приложение будет поставлено в docker-compose конфигурации. Основные настройки включая volumes
уже будут проставлены в файле.
Система включает в себя три контейнера: фронтовую часть, бек и базу данных PostgreSQL.
Имена контейнеров и сервисов фронта и бека могут быть любыми, а вот именование сервиса с БД должно быть отражено в переменной DB_URI
.
Таким образом, для первичного запуска система необходимым минимумом будет с точки зрения конфигурирования настроек будет:
- Указать доменное имя в переменной
APP_URL
. - Указать лицензию в переменной
LIC
. - Настроить проксирование через nginx согласно шаблону, указанному на шаге 5.
- Определиться с переменными для функционирования БД в файле db.env.
- Прописать в переменной
DB_URI
значения для подключения к БД в соответствии с данными файла в db.env.
При этом для приемлемой работоспособности инстанса, а также с точки зрения безопасности дополнительно необходимо:
- Установить группу переменных для отправки системных писем.
- Установить значение secret для сессии в переменной
SESSION_SECRET
. - Сменить пароль администратора, после первого входа в систему (после сборки и запуска сервиса).