Перейти к содержанию

Установка mint

В данном руководстве описана процедура установки и настройки модулей:

  • mint_mgmt

  • mint_media

  • mint_turn

Для установки дополнительных модулей необходимо пользоваться соответствующими руководствами.

Варианты установки

Установка системы MINT допускается как на физические, так и на виртуальные серверы. Существует множество факторов, которые необходимо учитывать при выборе серверного окружения для инсталляции MINT, такие как производительность, масштабируемость, доступность, надежность, стоимость и простота управления. Ниже представлены рекомендуемые варианты установки.

  1. Установка на два сервера.

    Предпочтительный вариант установки.

    Использование такой схемы позволяет масштабировать каждый из модулей независимо друг от друга, добавляя дополнительные аппаратные ресурсы на сервер. Разные модули не конкурируют за одни и те же ресурсы сервера (CPU, RAM, I/O). Также данная схема удобнее в обслуживании, поскольку позволяет выполнять обновление отдельных модулей системы без остановки всего сервиса.

    Данный вариант требует наличия двух внешних (публичных) IP-адресов.

    Расположение модулей

    Сервер 1 — mint_mgmt

    Сервер 2 — mint_media, mint_turn

  2. Все модули устанавливаются на один сервер.

    Подходит для быстрого развертывания.

    Рекомендуется для небольших установок (не более 50 одновременных участников в конференции), однако в данном варианте разные модули конкурируют за одни и те же аппаратные ресурсы (CPU, RAM, I/O).

Требования к инфраструктуре

Системные требования

Системные требования к серверам зависят от количества одновременных участников конференций.

При установке на один сервер

На 10 участников На 50 участников
Процессор — 6 vCPU Процессор — 14 vCPU
Оперативная память — 4 ГБ Оперативная память — 12 ГБ
Дисковое пространство — 80 ГБ Дисковое пространство — 120 ГБ

При установке на 2 сервера

На 50 участников
mint_mgmt mint_media
Процессор — 6 vCPU Процессор — 12 vCPU
Оперативная память — 8 ГБ Оперативная память — 6 ГБ
Дисковое пространство — 80 ГБ Дисковое пространство — 80 ГБ
На 100 участников
mint_mgmt mint_media
Процессор — 6 vCPU Процессор — 22 vCPU
Оперативная память — 12 ГБ Оперативная память — 8 ГБ
Дисковое пространство — 80 ГБ Дисковое пространство — 80 ГБ

Требования к процессору

  • Производительность на поток (Single Thread Rating) — не менее 2000 PassMark

Например

Intel Xeon Gold 6126 или аналогичный, Intel Core i7-10700 или аналогичный.

Операционная система

Операционная система на базе Linux.

Рекомендуемые дистрибутивы:

  • Astra Linux — версия 1.7 и выше

  • RedOS — версия 7.3 и выше

  • ALT Linux — версия 9 и выше

  • Ubuntu — версия 20.04 и выше

  • CentOS — версия 7 и выше

  • Debian — версия 11 и выше

  • Fedora — версия 36 и выше

  • RHEL — версия 7 и выше

Обратите внимание

На операционной системе Astra Linux для корректной работы Docker Engine необходимо использовать ядро generic.

Примечание

На всех серверах, где установлены модули MINT, рекомендуется использовать один и тот же дистрибутив.

Необходимое программное обеспечение

  • Docker Engine версии 24 и выше

  • Пакет python3 версии 3.10 и выше

IP-адресация

  1. При установке на 1 сервер:

    • 1 внутренний (частный) IP-адрес — для взаимодействия модулей между собой

    • 1 внешний (публичный) IP-адрес — для подключения пользователей или NAT

  2. При установке на 2 сервера:

    • 1 внутренний (частный) IP-адрес на каждый сервер — для взаимодействия модулей между собой

    • 1 внешний (публичный) IP-адрес на каждый сервер — для подключения пользователей или NAT

Сетевое взаимодействие

  1. На внешних (публичных) IP-адресах должны быть разрешены входящие подключения по указанным портам:

    1. При установке на 2 сервера:

      • На сервер с mint_mgmt — TCP/80, TCP/443

      • На сервер с mint_media — TCP/80, TCP/443, UDP/10000

    2. При установке на 1 сервер:

      • TCP/80, TCP/443, UDP/10000
  2. При установке на 2 сервера, на сервере mint_mgmt на внутреннем (частном) IP-адресе должны быть разрешены подключения на порты TCP/5222 и TCP/6222 со второго сервера.

Доменные имена и сертификаты

Для работы MINT необходимо:

  • Два доменных имени — для mint_mgmt и mint_turn
  • SSL-сертификат на каждый из доменов

При установке на 1 сервер

graph TD
  A["mgmt.domain.ru<br/>turn.domain.ru"] --> B["внешний (публичный)<br/>IP-адрес сервера"]
При установке на 2 сервера

graph TB
    A["mgmt.domain.ru"] --> C["внешний (публичный)<br/>IP-адрес сервера<br/>mint_mgmt"]
    B["turn.domain.ru"] --> D["внешний (публичный)<br/>IP-адрес сервера<br/>mint_turn<br/>mint_media"]

Примечание

Если у вас нет сертификатов, вы можете воспользоваться встроенным механизмом автоматического получения сертификата Let's Encrypt. Процесс настройки описан далее.

Установка и настройка

Важно

Убедитесь, что на всех серверах, на которых будут установлены модули MINT, настроено корректное время и указан ваш часовой пояс. Также желательно на всех серверах настроить автоматическую синхронизацию времени с NTP-сервером.

Установка Docker Engine

Установите Docker Engine с помощью официального скрипта установки

sudo curl -fsSL https://get.docker.com | sh

Либо по инструкции на официальном сайте, предназначенной для вашего дистрибутива Linux. Инструкция по установке Docker Engine

Важно

Docker Engine должен быть установлен на всех серверах, где запускаются модули MINT.

Установка mint_mgmt

  1. Загрузите архив с дистрибутивом. Скачать

  2. Распакуйте загруженный архив в произвольную директорию, данная директория необходима только на время установки и не будет использоваться для работы ПО.

  3. Запустите скрипт установки setup_mgmt.py из директории mint_mgmt и следуйте подсказкам установщика.

Примечание

Модуль mint_mgmt будет установлен в директорию /opt/mint/mgmt.

Дальнейшую настройку, а также запуск и остановку контейнеров необходимо выполнять в данной директории.

Настройка mint_mgmt

  1. Установка собственного SSL-сертификата

    Примечание

    Пропустите данный пункт, если собираетесь использовать автоматический сертификат Let's Encrypt.

    Разместите SSL-сертификат и ключ с именами cert.crt и cert.key в директорию /opt/mint/mgmt/configs/mint_web/keys.

    Важно

    Для корректной работы MINT на мобильных устройствах необходимо использовать fullchain-сертификат с полной цепочкой сертификации внутри.

  2. Настройка параметров

    В директории /opt/mint/mgmt в конфигурационном файле .env заполните следующие параметры:

    • DOMAIN — доменное имя, по которому будет доступен сервис

    Для автоматической генерации сертификата Let's Encrypt укажите в параметрах:

    • ENABLE_LETSENCRYPT — значение true

    • LETSENCRYPT_EMAIL — действующий адрес электронной почты (обязательно)

    При использовании собственного сертификата не изменяйте данные параметры.

    Важно

    Указывайте корректное доменное имя: к нему, в том числе, будет привязана лицензия сервера.

    При изменении доменного имени необходимо будет запросить новую лицензию.

Запуск mint_mgmt

Находясь в директории /opt/mint/mgmt, запустите контейнеры командами:

docker compose up -d

Проверьте, что все контейнеры успешно запустились:

docker ps -a

Все контейнеры должны иметь статус “Up”.

Выполните первичную инициализацию базы данных:

docker exec -it mint_core ./config/mint_utils -m createDefaultOrgAndUser

Установка лицензии

В браузере перейдите по адресу, который вы указали в .env файле в параметре DOMAIN.

Для входа используйте:

  • Логин: admin

  • Пароль: указан в параметре MINT_ADMIN_PASSWORD в .env файле

Примечание

Пароль учетной записи admin можно в дальнейшем изменить в системе управления.

На открывшейся странице нажмите Скачать идентификатор сервера.

Направьте скачанный файл .productId персональному менеджеру или в службу технической поддержки MINT. В ответ вам будет передан лицензионный файл.

После получения файла нажмите на кнопку Загрузить лицензионный файл и выберите файл лицензии.

Установка mint_media

Убедитесь, что на сервере установлен Docker Engine.

  1. Загрузите архив с дистрибутивом. Скачать

  2. Распакуйте загруженный архив в произвольную директорию, данная директория необходима только на время установки и не будет использоваться для работы ПО.

  3. Запустите скрипт установки setup_media.py из директории mint_media и следуйте подсказкам установщика.

Примечание

Модуль mint_media будет установлен в директорию /opt/mint/media.

Дальнейшую настройку, а также запуск и остановку контейнеров необходимо выполнять в данной директории.

Важно

Если установка mint_media производится на один сервер с mint_mgmt и в операционной системе активен межсетевой экран UFW, необходимо разрешить сетевое взаимодействие между сетями Docker. Для этого выполните команду:

sudo ufw allow from 172.0.0.0/8

Настройка mint_media

В директории /opt/mint/media в конфигурационном файле .env заполните следующие параметры:

  • DOMAIN — доменное имя, указанное в .env mint_mgmt

  • XMPP_AUTH_PASSWORD — значение XMPP_AUTH_PASSWORD из .env файла модуля mint_mgmt

  • MGS_LOCAL_IP — внутренний (частный) IP-адрес сервера, где установлен модуль mint_mgmt

  • DOCKER_HOST_ADDRESS — внутренний (частный) IP-адрес сервера, где установлен модуль mint_media

  • PUBLIC_ADDRESS — внешний (публичный) IP-адрес сервера, где установлен модуль mint_media

Запуск mint_media

Находясь в директории /opt/mint/media, выполните команду:

docker compose up -d

Проверьте, что все контейнеры успешно запустились. Для этого выполните команду:

docker ps -a

Все контейнеры должны иметь статус “Up”.

Установка mint_turn

Убедитесь, что на сервере установлен Docker Engine.

  1. Загрузите архив с дистрибутивом. Скачать

  2. Распакуйте загруженный архив в произвольную директорию, данная директория необходима только на время установки и не будет использоваться для работы ПО.

  3. Запустите скрипт установки setup_turn.py из директории mint_turn и следуйте подсказкам установщика.

Примечание

Модуль mint_turn будет установлен в директорию /opt/mint/turn.

Дальнейшую настройку, а также запуск и остановку контейнеров необходимо выполнять в данной директории.

Настройка mint_turn

Перейдите в директорию /opt/mint/turn/, откройте файл .env и заполните параметры:

  • MGMT_DOMAIN — доменное имя сервера mint_mgmt
  • TURN_DOMAIN — доменное имя сервера mint_turn
  • TURN_SECRET — значение параметра TURN_SECRET из .env сервера mint_mgmt
  • TURN_EXTERNAL_IP — внешний (публичный) IP-адрес сервера, где установлен mint_turn
  • TURN_LISTENING_IP — если на сетевом интерфейсе сервера, где установлен mint_turn, указан внутренний (частный) адрес и сервер находится за NAT, укажите внутренний (частный) адрес; если на сетевом интерфейсе сервера указан внешний (публичный) адрес, укажите внешний (публичный) адрес
  • TURN_RELAY_IP — внутренний (частный) адрес сервера, где установлен mint_turn
  • TURN_LISTENING_PORT — если mint_turn на отдельном сервере, оставьте 443, если на одном сервере с mint_mgmt — укажите 4444

Откройте .env сервера mint_mgmt и заполните параметры:

  • ENABLE_TURN — true
  • TURN_DOMAIN — доменное имя сервера mint_turn

Настройка сертификата

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

Собственный сертификат

Разместите сертификат и ключ в директории /opt/mint/turn/configs/mint_turn/keys с именами:

  • fullchain.pem — сертификат

  • key.pem — ключ

Сертификат Let's Encrypt, mint_turn на отдельном сервере с mint_media

В .env файле mint_turn укажите:

  • ENABLE_LETSENCRYPT — true

  • LETSENCRYPT_EMAIL — действующий адрес электронной почты

Сертификат Let's Encrypt, mint_turn на одном сервере с mint_mgmt
  1. В .env файле mint_turn укажите:

    • CERT_WATCHER_ENABLED — true
  2. В docker-compose.yml файле mint_turn раскомментируйте строку:

    #  - /opt/mint/mgmt/configs/mint_web/acme-certs/${MGMT_DOMAIN}:/config/keys:ro
    
  3. В .env файле mint_mgmt укажите:

    • TURN_WITH_MGMT — true

    • TURN_LISTENING_IP — внутренний (частный) адрес сервера

Обратите внимание

В данном варианте ENABLE_LETSENCRYPT на сервере mint_turn включать не нужно, однако он обязательно должен быть включен на сервере mint_mgmt.

Запуск mint_turn и перезапуск mint_mgmt

  1. Перезапустите контейнеры mint_mgmt командами:

    docker compose stop
    
    docker compose up -d
    
  2. Запустите mint_turn командой:

    docker compose up -d
    

Проверка работоспособности системы

Для проверки, что установка выполнена корректно, выполните следующие действия:

  1. Авторизуйтесь в системе управления

  2. Запланируйте конференцию

  3. Войдите в конференцию минимум двумя участниками

  4. Убедитесь, что все участники видят и слышат друг друга

Устранение неполадок

  1. Система управления недоступна по доменному имени.

    • Убедитесь, что все контейнеры mint_mgmt запущены и работают.

    • Проверьте, что в файле .env в поле DOMAIN= указан домен, по которому будет осуществляться вход в систему управления. Домен должен быть выдан на внешний IP-адрес сервера или, если установка производится внутри сети, на внутренний IP-адрес. В этом случае должен быть настроен внутренний DNS-сервер.

    • Проверьте, что SSL-сертификат размещен в правильной директории, указанной в инструкции. Если вы в .env файле включили опцию получения сертификата от Let's Encrypt, убедитесь, что на сервере открыт порт TCP/80 и есть выход в интернет. В противном случае сертификат не будет получен, и ПО не запустится.

    • Убедитесь, что DNS-запрос направляется на IP-адрес сервера mint_mgmt.

  2. После входа в конференцию вторым участником появляется сообщение «к сожалению, что-то пошло не так».

    Данное поведение свидетельствует о том, что к серверу mint_mgmt не подключен сервер mint_media.

    • Убедитесь, что контейнер mint_media запущен и работает.

    • Убедитесь, что данные .env файла mint_media корректно заполнены согласно инструкции. Если XMPP_AUTH_PASSWORD не соответствует значению, указанному на mint_mgmt, сервер mint_media не сможет подключиться. Также подключение не произойдет, если указаны некорректные IP-адреса.

  3. В конференции никого не видно и не слышно.

    • Убедитесь, что на сервере, где установлены mint_turn и mint_media, открыты порты: TCP/443 и UDP/10000.