Обзор развертывания Jitsi на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие условия:
-
Операционная система: Ubuntu или Debian.
-
Права доступа: Права суперпользователя (root) для установки пакетов и настройки системных служб.
-
Доменное имя: Наличие зарегистрированного FQDN, соответствующего шаблону.
-
Открытые порты:
-
80/tcp— для HTTP и проверки сертификатов. -
443/tcp— для HTTPS трафика. -
10000/udp— для передачи медиаданных (видео/аудио).
FDQN итоговой панели на домене hostkey.in¶
Для доступа к приложению используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | jitsi |
| Домен | hostkey.in |
| Полный шаблон | jitsi{Server_ID}.hostkey.in |
Процесс установки приложения¶
Развертывание Jitsi выполняется в несколько этапов:
-
Подготовка системы:
-
Настройка системных репозиториев на использование зеркала
https://mirror.yandex.ru/ubuntu. -
Установка базовых зависимостей (
curl,gnupg,ca-certificates). -
Настройка репозиториев:
-
Добавление официальных ключей и репозиториев для Jitsi и Prosody.
-
Установка компонентов:
-
Установка пакетов:
jitsi-meet,jicofo,jitsi-videobridge2,jitsi-meet-prosody,jitsi-meet-web,jitsi-meet-web-config,jitsi-meet-turnserverиnginx. -
Установка компонента
lua5.2. -
Конфигурация веб-сервера:
-
Автоматическая настройка конфигурации Nginx на основе FQDN.
-
Настройка прослушивания портов
80и443(с поддержкой SSL и HTTP/2). -
Получение сертификатов:
-
Использование встроенного скрипта
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.shдля автоматического получения SSL-сертификатов Let's Encrypt.
Права доступа и безопасность¶
Безопасность системы обеспечивается следующими мерами:
-
Брандмауэр (UFW): Включен в режиме
allow. Разрешены входящие соединения на порты80/tcp,443/tcpи10000/udp. -
Политика: По умолчанию установлена политика
allowдля разрешенных правил.
Базы данных¶
В качестве сервера обработки сигналов используется компонент prosody, который управляет данными XMPP. Данные хранятся локально в системе.
Контейнеры Docker и их запуск¶
Для управления SSL-сертификатами через прокси используется контейнер:
| Параметр | Значение |
|---|---|
| Имя образа | jonasal/nginx-certbot:latest |
| Режим сети | host |
| Тома (volumes) | nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d |
| Переменные окружения | CERTBOT_EMAIL |
| Политика перезапуска | unless-stopped |
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия:
-
Настройка репозиториев: Скрипт заменяет стандартные адреса Ubuntu на зеркала Yandex для ускорения загрузки.
-
Автоматизация конфигурации Nginx: Выполняется переконфигурация
jitsi-meet-web-configи создание символьных ссылок в/etc/nginx/sites-enabled/. -
Настройка проксирования: Создается файл конфигурации в
/data/nginx/user_conf.d/, который перенаправляет трафик с порта443на внутренний порт приложения8443(включая поддержку WebSocket для протоколовxmpp-websocketиcolibri-ws).
Инструкция по обновлению приложения¶
Для обновления основного приложения необходимо выполнить обновление системных пакетов:
После обновления рекомендуется перезапустить основные службы для применения изменений.Расположение конфигурационных файлов и данных¶
| Тип данных | Путь |
|---|---|
| Конфигурации Nginx (пользовательские) | /data/nginx/user_conf.d/ |
| Конфигурации Nginx (системные) | /etc/nginx/sites-available/ |
| Сертификаты Let's Encrypt | Внутри Docker-тома nginx_secrets |
Доступные порты для подключения¶
-
443/tcp: Основной интерфейс веб-интерфейса (HTTPS).
-
80/tcp: HTTP (автоматический редирект на HTTPS).
-
10000/udp: Медиа-поток.