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

Установка mint

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

  • mint_mgmt

  • mint_media

  • mint_turn

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

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

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

  1. Установка на две машины.

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

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

    Данный вариант требует наличия двух публичных/белых ip адресов.

    Расположение компонентов

    Машина 1 - mint_mgmt

    Машина 2 - mint_mdeia, 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,

  • Общая производительность – не менее 15000 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 – 80 TCP, 443 TCP

      • На машину с mint_media – 80 TCP, 443 TCP, 10000 UDP

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

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

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

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

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

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

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

graph TB
    A["**mgmt.domain.ru**"] --> C["публичный ip<br/>машины<br/>**mint_mgmt**"]
    B["**turn.domain.ru**"] --> D["публичный ip<br/>машины<br/>**mint_turn**<br/>**mint_media**"]

Примечание

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

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

Установка 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 - доменное имя, по которому будет доступен сервис

    • TURN_DOMAIN - доменное имя turn сервера

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

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

    • LETSENCRYPT_EMAIL - корректный email (обязательно)

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

    Важно

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

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

Запуск mint_mgmt

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

docker compose up -d

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

docker ps -a

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

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

В интернет-браузере перейдите по адресу, который вы указали в .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_rutn сервера
  • TURN_SECRET - значение параметра TURN_SECRET из .env сервера mint_mgmt
  • EXTERNAL_IP - публичный (белый) ip машины где установлен mint_turn
  • LISTENING_IP - если на сетевом интерфейсе машины где установлен mint_turn указан частный (серый) адрес и машина находится за NAT, укажите частный (серый) адрес, если на сетевом интерфейсе машины указан публичный (белый) адрес, укажите публичный (белый) адрес.
  • RELAY_IP - частный (серый) адрес машины где установлен mint_turn

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

  • ENABLE_TURN - true
  • TURN_DOMAIN - домен mint_rurn сервера

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

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

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

Разместите сертификат и ключ в каталоге /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 - корректный 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

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

В данном варианте 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. Система управления недоступна по доменному имени.

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

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

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

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

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

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

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

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

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

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