Флаг: English English

Jitsi Meet: Настройка авторизации и оптимизация сервера

Опубликовано 10.09.2025

В предыдущей статье мы развернули базовый сервер Jitsi Meet с помощью Docker.
Теперь разберём, как защитить ваш сервер, включить авторизацию и оптимизировать работу для стабильных видеозвонков.


Авторизация: доступ только по приглашению

По умолчанию Jitsi Meet позволяет любому пользователю создавать комнаты. Чтобы ограничить доступ — включим Secure Domain.

  1. Откройте файл .env и найдите секцию Prosody (XMPP-сервер).
    ENABLE_AUTH=1
    AUTH_TYPE=internal
    

Здесь internal означает, что пользователи будут храниться локально.

  1. Установите модуль авторизации:

    docker compose exec prosody prosodyctl register user1 meet.jitsi StrongPassword
    docker compose exec prosody prosodyctl register user2 meet.jitsi StrongPassword
    
  2. Перезапустите контейнеры:

    docker compose down && docker compose up -d
    

Теперь только зарегистрированные пользователи смогут создавать конференции. Гости могут подключаться только по ссылке, если их пригласит авторизованный пользователь.


Ограничение доступа по ссылке

Если вы хотите, чтобы конференция была доступна только тем, кому вы отправите ссылку:

  1. Настройте пароль на уровне комнаты (делается в интерфейсе Jitsi Meet).
  2. Или используйте встроенные JWT-токены для интеграции с внешней системой аутентификации (например, Keycloak или Google OAuth).

Для включения JWT в .env:

ENABLE_AUTH=1
AUTH_TYPE=jwt
JWT_APP_ID=your_app_id
JWT_APP_SECRET=your_app_secret

Оптимизация под нагрузку

Чтобы сервер справлялся с большим количеством участников:

1. Правильные порты в фаерволе

  • 10000/udp — основной медиапоток (нужен всегда).
  • 4443/tcp — fallback, если UDP заблокирован.

2. Настройки JVM для JVB

В .env можно увеличить лимиты для Java Video Bridge:

JVB_ENABLE_APIS=rest,colibri
JVB_ENABLE_STATS_D=1
JVB_MAX_MEMORY=3072m

3. Масштабирование JVB

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


SSL и HTTPS

  • Убедитесь, что порты 80 и 443 открыты.

  • Для продакшена настройте автоматическое обновление сертификата:

    docker compose exec web /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
    

Мониторинг и логи

  • Просмотр логов:

    docker compose logs -f
    
  • Метрики доступны через REST API JVB (порт 8080), которые можно подключить к Prometheus или Grafana.


Итог

Теперь ваш сервер Jitsi Meet:

  • Поддерживает авторизацию для ограничения доступа.
  • Может работать по схеме «только по приглашению».
  • Оптимизирован под большую нагрузку и готов к мониторингу.

Это превращает его в надёжную альтернативу облачным сервисам, с полным контролем над данными.

Нужна помощь?

Свяжись со мной и я помогу решить проблему

Похожие посты