Перейти к основному содержимому
Версия: 3.0

Чек-лист перед выходом в продуктив

Перед тем как открыть платформу пользователям, проверьте базовые настройки. Их список с текущим состоянием показывает раздел «Готовность к продуктиву» консоли администрирования (доступен супер-администратору): выполненные пункты отмечены галочкой, невыполненные значком предупреждения, у каждого пункта есть пояснение и имя переменной окружения или параметра конфигурации.

Страница «Проверка готовности к продуктиву»: список настроек с отметками выполнено, не выполнено и справочными пунктами

Проверяемые пункты​

Названия приведены так, как они выводятся в интерфейсе.

ПунктЧто проверяетсяГде задаётся
Переход на СУБД PostgresПлатформа работает с PostgreSQL, а не со встроенной SQLite. В продуктивном режиме без PostgreSQL платформа не запускаетсяIQB_DATABASE_URL
Включение IQBFS хранилищаБоты и файлы конфигурации лежат в базе данных: несколько серверов видят одни данные, резервная копия базы содержит всё. При PostgreSQL включено самоIQB_IQBFS_STORAGE
Запуск iQBot в продуктивном режимеСкрыты трассировки стека и отладочные журналы, обязательны PostgreSQL и администратор из переменных IQB_ADMIN_EMAIL/IQB_ADMIN_PASSWORDIQB_PRODUCTION=true
Настроено подключение из-внеЗадан внешний адрес, по которому платформу открывают пользователи и iQChannels; без него ссылки строятся на http://localhost:3000IQB_EXTERNAL_URL
Настроено ограничение CORS только своим доменомЗапросы к API принимаются только с собственного домена. Нужно, если консоль или веб-чат открываются с другого домена; при обратном прокси на том же домене достаточно запретить посторонние источникиhttpServer.cors.origin
Включить хранилище cookie для токена JWTТокен сеанса хранится в защищённой cookie, а не в хранилище браузера. Рекомендуется, если платформа доступна из сети ИнтернетjwtToken.useCookieStorage
Кластер: Redis и связь узловПоказывается при IQB_CLUSTER_ENABLED: задан IQB_REDIS_URL, Redis отвечает, видно число узлов ядра на шине. Без кластера пункт справочныйсм. Распределение нагрузки
Языковой сервер доступен и языки установленыСервер из настроек NLU отвечает и в нём есть хотя бы один язык; иначе боты не понимают свободные фразы«Настройки сервера» → «Языковой сервер», IQB_MODULE_NLU_LANGUAGESOURCES
Защитите свой сервер с помощью протокола HTTPSДоступ по HTTPS. Сама платформа сертификаты не обрабатывает: HTTPS настраивается на обратном прокси перед портом 3000см. Безопасность
Включить контрольный журналОбласть отладки, которая пишет все запросы к серверу с пользователем и IP-адресомраздел «Отладка» консоли
Запись логов в файловую системуЖурналы пишутся в файлы для передачи в систему сбора логов, а не только в базу на две неделиlogs.fileOutput.enabled

Справочные пункты​

Не имеют состояния «выполнено», напоминают о необязательных действиях.

ПунктО чём
Изменить базовый путь iQBotПлатформа может работать не в корне домена: добавьте путь к IQB_EXTERNAL_URL, например https://portal.example.com/iqbot
Настройте кастомные роли и привилегииПроверьте встроенные роли и при необходимости создайте свои в разделе «Роли», см. Роли и права доступа
Подготовьте диагностический отчётОтчёт для службы поддержки: подключения к компонентам, база, диск, метод входа и почта, конфигурация без паролей и секретов

Что ещё проверить перед запуском​

Этих пунктов в интерфейсе нет, но для продуктивной установки они обязательны.

  • Мониторинг. Система мониторинга опрашивает /health каждого узла и забирает /metrics; заданы оповещения на недоступность компонентов, перегрузку и таймауты, см. Мониторинг. Если /metrics открыт в сеть, задан IQB_METRICS_TOKEN.
  • Вход сотрудников. Выбран способ входа: единый вход через корпоративного провайдера или каталог, либо базовая стратегия с включённым вторым фактором (twoFactor: optional или required) и настроенной почтой для сброса пароля, см. Аутентификация и единый вход. Самостоятельная регистрация (allowSelfSignup у базовой стратегии) выключена.
  • Секреты. IQB_ADMIN_PASSWORD удалён из .env после первого запуска, ключи ИИ-шлюзов заданы переменными EXPOSED_*, а не в настройках открытым текстом, файл .env с правами 600.
  • Резервные копии. Настроен регулярный pg_dump, копия хотя бы раз восстановлена на тестовом стенде, см. Резервное копирование и обновление.
  • Подключение к iQChannels. Создана интеграционная учётная запись, бот подключён и отвечает в тестовом канале, см. Подключение к iQChannels.
  • Нагрузка. Ожидаемая пиковая нагрузка сопоставлена с числом узлов по разделу Требования к серверам; для нескольких узлов проверена схема кластера.