Облачный сервер с Jitsi Meet
Jitsi Meet — это полностью зашифрованное решение с открытым исходным кодом для организации видеоконференций.
Можно создать облачный сервер с готовым приложением Jitsi Meet. В России приложение работает на облачном сервере с настроенной операционной системой SelectOS 1.1. В других странах — Ubuntu 22.04.
Создать облачный сервер с Jitsi Meet
Для настройки Jitsi Meet при создании сервера необходимо указать user data — пользовательские параметры конфигурации операционной системы. Вы можете задать два набора переменных:
- для доступа к Jitsi Meet из интернета;
- для доступа к Jitsi Meet только в приватной подсети.
Для сервера с доступом из интернета нужно будет настроить обязательную авторизацию и создать пользователей с возможностью создания конференции. Для сервера в приватной подсети авторизацию можно отключить — доступ к Jitsi Meet можно будет получить по доменному имени.
1.Создать публичный IP-адрес
Создайте публичный IP-адрес, чтобы облачный сервер с Jitsi Meet был доступен из интернета.
Используйте подраздел Создать публичный IP-адрес инструкции Публичные IP-адреса.
2. Создать облачный сервер с Jitsi Meet
- 
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы. 
- 
Нажмите Создать сервер. 
- 
Заполните блоки: 
- 
Проверьте цену облачного сервера. 
- 
Нажмите Создать. 
Имя и расположение
- 
Введите имя сервера. Оно будет установлено как имя хоста в операционной системе. 
- 
Выберите регион и сегмент пула, в котором будет создан сервер. От сегмента пула зависит список доступных конфигураций сервера и стоимость ресурсов. После создания сервера изменить сегмент пула нельзя. 
Источник
- 
Откройте вкладку Приложения. 
- 
Выберите Cloud Jitsi Meet. 
- 
Опционально: если вам нужна другая актуальная или архивная версия приложения, в поле Версия выберите нужную версию. 
Конфигурация
Выберите конфигурацию от 4 vCPU, RAM от 8 ГБ и размером загрузочного диска от 10 ГБ. Для сервера доступны два типа конфигураций:
- фиксированные конфигурации — несколько линеек с разными техническими характеристиками, в которых зафиксировано соотношение ресурсов;
- произвольные конфигурации, в которых можно указать любое соотношение ресурсов.
В конфигурациях используются разные процессоры в зависимости от линейки и сегмента пула. После создания сервера можно будет изменить конфигурацию.
- Фиксированная конфигурация 
- Произвольная конфигурация 
- 
Нажмите Фиксированная. 
- 
Откройте вкладку с нужной линейкой. 
- 
Выберите конфигурацию. 
- 
Если в выбранной конфигурации доступны и локальные, и сетевые диски, выберите диск, который будет использоваться в качестве загрузочного: - локальный диск — отметьте чекбокс Локальный SSD NVMe диск. Сервер с локальным диском можно создать только из образов и приложений;
- сетевой диск — не отмечайте чекбокс.
 Объем оперативной памяти, который выделяется серверу, может быть меньше указанного в конфигурации — ядро операционной системы резервирует часть оперативной памяти в зависимости от версии ядра и дистрибутива. Выделенный объем на сервере можно проверить с помощью команды sudo dmesg | grep Memory.
- 
Нажмите Произвольная. 
- 
Укажите количество vCPU и размер RAM. 
- 
Если в выбранной конфигурации доступны и локальные, и сетевые диски, выберите диск, который будет использоваться в качестве загрузочного: - локальный диск — отметьте чекбокс Локальный SSD NVMe диск. Сервер с локальным диском можно создать только из образов и приложений;
- сетевой диск — не отмечайте чекбокс.
 Объем оперативной памяти, который выделяется серверу, может быть меньше указанного в конфигурации — ядро операционной системы резервирует часть оперативной памяти в зависимости от версии ядра и дистрибутива. Выделенный объем на сервере можно проверить с помощью команды sudo dmesg | grep Memory.
Диски
- 
Если при настройке конфигурации вы не отметили чекбокс Локальный SSD NVMe диск, в качестве загрузочного диска сервера будет использоваться первый указанный сетевой диск. Чтобы настроить его: 1.1. Выберите тип сетевого загрузочного диска. 1.2. Укажите размер сетевого загрузочного диска в ГБ или ТБ. Учитывайте лимиты сетевых дисков на максимальный размер. 1.3. Если вы выбрали тип диска Универсальный v2, укажите общее количество операций чтения и записи в IOPS. После создания диска вы можете изменить количество IOPS — уменьшить или увеличить. Количество изменений IOPS не ограничено. 
- 
Опционально: добавьте дополнительный сетевой диск сервера: 2.1. Нажмите Добавить. 2.2. Выберите тип сетевого диска. 2.3. Укажите размер сетевого диска в ГБ или ТБ. Учитывайте лимиты сетевых дисков на максимальный размер. 2.4. Если вы выбрали тип диска Универсальный v2, укажите общее количество операций чтения и записи в IOPS. После создания диска вы можете изменить количество IOPS — уменьшить или увеличить. Количество изменений IOPS не ограничено. После создания сервера можно будет подключить новые дополнительные диски. 
Сеть
Сервер может быть добавлен в новую приватную подсеть или в уже существующую.
Приватная — подсеть без доступа из интернета или с одним статическим публичным IP-адресом. Публичный IP-адрес подключается к серверу, который будет доступен из интернета.
- Существующая приватная подсеть 
- Новая приватная подсеть 
- 
Нажмите Приватная подсеть. 
- 
В поле Публичный IP-адрес для доступа из интернета выберите публичный IP-адрес, который вы создали раннее или создайте новый. 
- 
Разверните блок с настройками приватной подсети. 
- 
В поле Подсеть выберите существующую подсеть. 
- 
В поле Приватный IP укажите приватный IP-адрес сервера. Публичный IP-адрес будет автоматически подключен к приватному адресу. 
- 
Нажмите Приватная подсеть. 
- 
В поле Публичный IP-адрес для доступа из интернета выберите публичный IP-адрес, который вы создали раннее или создайте новый. 
- 
Разверните блок с настройками приватной подсети. 
- 
Если у вас есть существующие сети в проекте, в поле Подсеть выберите Новая подсеть. 
- 
Опционально: измените CIDR подсети. 
- 
Опционально: включите тумблер DHCP. 
- 
Опционально: в поле Шлюз измените IP-адрес шлюза по умолчанию. 
- 
В поле Сеть выберите существующую сеть, в которой будет создана подсеть, или Новая сеть. Для приватной подсети с публичным IP-адресом автоматически будет создан роутер router-<network_name>, где<network_name>— имя сети.
- 
Если вы выбрали Новая сеть, введите имя сети. 
Безопасность
Выберите группы безопасности для фильтрации трафика на портах сервера. Без групп безопасности трафик будет запрещен. Если блок отсутствует, в сети сервера выключена фильтрация трафика (port security). С выключенной фильтрацией трафика весь трафик будет разрешен.
Доступ
- 
Разместите на сервере SSH-ключ для проекта для безопасного подключения: 1.1. Если SSH-ключ для проекта не добавлен в облачную платформу, нажмите Добавить SSH-ключ, введите имя ключа, вставьте публичный ключ в формате OpenSSH и нажмите Добавить. 1.2. Если SSH-ключ для проекта добавлен в облачную платформу, в поле SSH-ключ выберите существующий ключ. SSH-ключ доступен только в том пуле, в котором он размещен. 
- 
Опционально: в поле Пароль для «root»: 2.1. Скопируйте пароль пользователя root— пользователя с неограниченными правами на все действия над системой.2.2. Сохраните пароль в безопасном месте и не передавайте в открытом виде. 
Дополнительные настройки
- 
Если вы планируете создать несколько серверов и хотите повысить отказоустойчивость инфраструктуры, добавьте сервер в группу размещения: 1.1. Чтобы создать новую группу, в поле Группа размещения нажмите Создать. 1.2. Выберите Новая группа и введите имя группы. 1.3. Выберите политику размещения на разных хостах: - желательно — soft-anti-affinity. Система постарается разместить серверы на разных хостах. Если при создании сервера не будет подходящего хоста, он будет создан на т ом же хосте;
- обязательно — anti-affinity. Серверы в группе обязательно располагаются на разных хостах. Если при создании сервера не будет подходящего хоста, сервер не будет создан.
 1.4. Если группа создана, в поле Группа размещения выберите группу размещения. 
- 
Чтобы добавить дополнительную информацию или фильтровать серверы в списке, добавьте теги сервера. Автоматически добавляются теги операционной системы и конфигурации. Чтобы добавить новый тег, в поле Теги введите тег. 
- 
Чтобы добавить скрипт, который выполнится с помощью агента cloud-init при первом запуске операционной системы, в блоке Автоматизация в поле User data: - откройте вкладку Текст и вставьте скрипт текстом;
- или откройте вкладку Файл и загрузите файл со скриптом.
 
- С доступом из интернета 
- Без доступа из интернета 
#cloud-config
write_files:
- path: "/opt/gomplate/values/user-values.yml"
  permissions: "0644"
  content: |
    jitsi_HTTP_PORT: "80"
    jitsi_HTTPS_PORT: "443"
    jitsi_TZ: "<time_zone>"
    jitsi_PUBLIC_URL: "<jitsi_meet_public_url>"
    jitsi_IP: "<public_ip_address>"
    letsencrypt:
      enable: true
      letsencryptDomain: "<example.com>"
      letsencryptEmail: "<root@example.com>"
    auth:
      enable: true
Укажите:
- <time_zone>— часовой пояс, например- UTC;
- <jitsi_meet_public_url>— публичный URL Jitsi Meet в формате- jitsi.example.com;
- <public_ip_address>— публичный IP-адрес, который вы указали на шаге 10. Можно посмотреть в панели управления в верхнем меню нажмите Продукты → Облачные серверы → Сеть → вкладка Публичные IP-адреса;
- letsencrypt: enable: true— параметр для автоматического выпуска TLS-сертификата от Let’s Encrypt®;
- <example.com>— домен для доступа к Jitsi Meet, который вы добавили ранее;
- auth: enable: true— параметр для включения обязательной авторизации для создания конференции.
#cloud-config
write_files:
- path: "/opt/gomplate/values/user-values.yml"
  permissions: "0644"
  content: |
    jitsi_HTTP_PORT: "80"
    jitsi_HTTPS_PORT: "443"
    jitsi_TZ: "<time_zone>"
    jitsi_PUBLIC_URL: "<jitsi_meet_private_url>"
    jitsi_IP: "<private_ip_address>"
    letsencrypt:
      enable: false
Укажите:
- <time_zone>— часовой пояс, например- UTC;
- <jitsi_meet_private_url>— приватный URL Jitsi Meet в формате- meet.local;
- <private_ip_address>— приватный IP-адрес, который вы указали на шаге 10. Можно посмотреть в панели управления в верхнем меню нажмите Продукты → Облачные серверы → Сеть → вкладка Приватные сети;
- letsencrypt: enable: false— параметр указывает, что TLS-сертификат от Let’s Encrypt® не будет выпущен. Можно добавить пользовательский сертификат.
Создать пользователя с возможностью создания конференции
Если у облачного сервера с Jitsi Meet есть доступ из интернета, создайте пользователей, которые смогут создавать видеоконференции.
- 
Авторизуйтесь как пользователь root.
- 
Создайте пользователя с возможностью создания конференции: docker exec jitsi-prosody-1 prosodyctl --config /config/prosody.cfg.lua register <username> meet.jitsi <password>Укажите: - <username>— логин нового пользователя;
- <password>— пароль нового пользователя.
 
Получить доступ к Jitsi Meet
Если у облачного сервера с Jitsi Meet нет доступа из интернета, можно получить доступ к Jitsi Meet по доменному имени. Для этого:
- создайте на локальном DNS-сервере A-запись для приватного URL Jitsi Meet в формате https://meet.local;
- или добавьте А-запись в файл hostsна клиентах.
Добавить пользовательский сертификат
К облачному серверу с Jitsi Meet можно добавить пользовательский сертификат.
- 
Если вы используйте полную цепочку сертификатов и приватный ключ в формате .pem, переименуйте их вcert.crtиcert.key.
- 
Авторизуйтесь как пользователь root.
- 
Скопируйте файлы cert.crtиcert.keyв папку/opt/jitsi/data/.jitsi-meet-cfg/web/keys
- 
Выполните программную перезагрузку облачного сервера.