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

Обзор развертывания 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 выполняется в несколько этапов:

  1. Подготовка системы:

  2. Настройка системных репозиториев на использование зеркала https://mirror.yandex.ru/ubuntu.

  3. Установка базовых зависимостей (curl, gnupg, ca-certificates).

  4. Настройка репозиториев:

  5. Добавление официальных ключей и репозиториев для Jitsi и Prosody.

  6. Установка компонентов:

  7. Установка пакетов: jitsi-meet, jicofo, jitsi-videobridge2, jitsi-meet-prosody, jitsi-meet-web, jitsi-meet-web-config, jitsi-meet-turnserver и nginx.

  8. Установка компонента lua5.2.

  9. Конфигурация веб-сервера:

  10. Автоматическая настройка конфигурации Nginx на основе FQDN.

  11. Настройка прослушивания портов 80 и 443 (с поддержкой SSL и HTTP/2).

  12. Получение сертификатов:

  13. Использование встроенного скрипта /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).

Инструкция по обновлению приложения

Для обновления основного приложения необходимо выполнить обновление системных пакетов:

apt-get update && apt-get upgrade jitsi-meet*
После обновления рекомендуется перезапустить основные службы для применения изменений.

Расположение конфигурационных файлов и данных

Тип данных Путь
Конфигурации 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: Медиа-поток.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×