jitsi-meet

jitsi-meet

Устанавливает и настраивает программное обеспечение для видеоконференций Jitsi Meet.

Требования

У вас уже должны быть настроены DNS на сервере и SSL-ключи. Если у вас еще нет SSL-ключей для домена, рассмотрите возможность использования замечательной Ansible-роле thefinn93.letsencrypt для получения (бесплатных!) SSL-сертификатов от LetsEncrypt.

Вам также потребуется открыть порты 443 TCP и 10000 UDP, чтобы компоненты Jitsi Meet работали. По умолчанию роль будет использовать ufw для разрешения этих портов. Если вы используете другое решение для файрвола, такое как iptables, установите jitsi_meet_configure_firewall: false. Если вы используете AWS или подобные сервисы, вам нужно будет открыть эти порты в связанном Группе безопасности.

Переменные роли

# Файлы сертификатов по умолчанию находятся по адресу /var/lib/prosody/localhost.{crt,key}
# Не устанавливайте их здесь, потому что пустые строки для пользовательских сертификатов будут
# приводить к пропуску задач с пользовательской конфигурацией Nginx.
jitsi_meet_ssl_cert_path: ''
jitsi_meet_ssl_key_path: ''

# Без SSL "localhost" является правильным значением по умолчанию. Если предоставлена информация об SSL,
# нам потребуется реальное доменное имя. Используя подразумеваемое полное доменное имя Ansible, вы
# можете установить значение переменной явно, если используете более короткое имя хоста.
# Если автоматическая настройка Nginx отключена, также используйте полное доменное имя (FQDN),
# так как, предполагается, что другая роль будет управлять конфигурацией виртуального хоста.
jitsi_meet_server_name: "{{ ansible_fqdn if (jitsi_meet_ssl_cert_path or not jitsi_meet_configure_nginx) else 'localhost' }}"

# Поддерживается только "анонимная" аутентификация, что позволяет любому использовать сервер видеоконференций.
jitsi_meet_authentication: anonymous

# Установка пакета Debian jitsi-meet сгенерирует секреты для компонентов.
# Роль будет читать конфигурационный файл и сохранять секреты, даже во время шаблонизации.
# Если вы хотите сгенерировать свои собственные секреты и использовать их, переопределите эти переменные,
# но убедитесь, что храните секреты безопасно, например, с помощью ansible-vault или credstash.
jitsi_meet_videobridge_secret: ''
jitsi_meet_jicofo_secret: ''
jitsi_meet_jicofo_password: ''

# Информация по умолчанию для аутентификации, используемая в нескольких шаблонах служб.
jitsi_meet_jicofo_user: focus
jitsi_meet_jicofo_port: 5347

# Файл конфигурации по умолчанию: /etc/jitsi/videobridge/config утверждает, что стандартный порт
# для JVB - "5275", но руководство по ручной установке ссылается на "5347".
# https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md
jitsi_meet_videobridge_port: 5347

# Недавнее дополнение для защиты конфиденциальности, смотрите здесь для деталей:
# https://github.com/jitsi/jitsi-meet/issues/422
# https://github.com/jitsi/jitsi-meet/pull/427
jitsi_meet_disable_third_party_requests: true

# Конфигурация для совместного использования экрана в Chrome. Вам нужно создать и упаковать расширение браузера
# специально для вашего домена; смотрите https://github.com/jitsi/jidesha
jitsi_meet_desktop_sharing_chrome_method: 'ext'
jitsi_meet_desktop_sharing_chrome_ext_id: 'diibjkoicjeejcmhdnailmkgecihlobk'

# Путь к локальному расширению на диске, для копирования на целевой хост. Удаленное имя файла
# будет основной частью указанного здесь пути.
jitsi_meet_desktop_sharing_chrome_extension_filename: ''

# Конфигурация для совместного использования экрана в Firefox. Установите max_version на '42' и disabled на 'false'
# если вы хотите использовать совместное использование экрана под Firefox.
jitsi_meet_desktop_sharing_firefox_ext_id: 'null'
jitsi_meet_desktop_sharing_firefox_disabled: true
jitsi_meet_desktop_sharing_firefox_max_version_ext_required: '-1'

# Эти настройки debconf представляют собой ответы на интерактивные запросы во время установки
# пакета jitsi-meet. Если вы используете пользовательские SSL-сертификаты, возможно, вам придется установить больше опций.
jitsi_meet_debconf_settings:
  - name: jitsi-meet
    question: jitsi-meet/jvb-hostname
    value: "{{ jitsi_meet_server_name }}"
    vtype: string
  - name: jitsi-meet
    question: jitsi-meet/jvb-serve
    value: "false"
    vtype: boolean
  - name: jitsi-meet-prosody
    question: jitsi-meet-prosody/jvb-hostname
    value: "{{ jitsi_meet_server_name }}"
    vtype: string

# Роль автоматически установит и настроит ufw с портами jitsi-meet.
# Если вы управляете файрволом по-другому, установите это значение в false, и ufw будет пропущен.
jitsi_meet_configure_firewall: true

# Роль автоматически установит nginx и настроит виртуальный хост для использования с jitsi-meet.
# Если вы предпочитаете управлять веб-виртуальными хостами через отдельную роль, установите это значение в false.
jitsi_meet_configure_nginx: true

Совместное использование экрана

Jitsi Meet поддерживает функциональность совместного использования экрана через расширения браузера. Только стороне, делящейся экраном, необходимо установить расширение — другие участники в собрании смогут видеть общий экран без установки чего-либо. Вам нужно будет создать свое собственное расширение браузера для Chrome и/или Firefox. Смотрите документацию по Jidesha для подробных инструкций по сборке. Эта роль тестировалась только с пользовательскими расширениями Chrome.

Chrome запрещает установку расширений с непроверенных веб-сайтов, поэтому вам нужно загрузить файл .crx напрямую, затем перейти на chrome://extensions и перетащить расширение, чтобы установить его. Если вы хотите предоставить другому участнику поддержку совместного использования экрана, поделитесь с ним URL-адресом расширения через текстовый чат Jitsi Meet.

Зависимости

Это технически не зависимость, но вы должны ознакомиться с thefinn93.letsencrypt для удивительно простых SSL-сертификатов.

Пример плейбука

Включение примера того, как использовать вашу роль (например, с переданными в качестве параметров переменными), всегда полезно для пользователей:

- name: Настройка сервера jitsi-meet.
  hosts: jitsi
  vars:
    # Измените это, чтобы соответствовать записи DNS для вашего IP-адреса хоста.
    jitsi_meet_server_name: meet.example.com
  roles:
    - role: thefinn93.letsencrypt
      become: yes
      letsencrypt_email: "webmaster@{{ jitsi_meet_server_name }}"
      letsencrypt_cert_domains:
        - "{{ jitsi_meet_server_name }}"
      tags: letsencrypt

    - role: ansible-role-jitsi-meet
      jitsi_meet_ssl_cert_path: "/etc/letsencrypt/live/{{ jitsi_meet_server_name }}/fullchain.pem"
      jitsi_meet_ssl_key_path: "/etc/letsencrypt/live/{{ jitsi_meet_server_name }}/privkey.pem"
      become: yes
      tags: jitsi

Запуск тестов

Эта роль использует Molecule и ServerSpec для тестирования. Чтобы использовать ее:

pip install molecule
gem install serverspec
molecule test

Вы также можете запускать выборочные команды:

molecule idempotence
molecule verify

Смотрите документацию Molecule для получения дополнительной информации.

Лицензия

MIT

Информация об авторе

Фонд свободы печати

О проекте

Installs Jitsi Meet videoconferencing software

Установить
ansible-galaxy install freedomofpress/ansible-role-jitsi-meet
Лицензия
Unknown
Загрузки
140
Владелец
Defending and supporting cutting-edge transparency journalism in the face of adversity.