ansible_role_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
# предоставлена, нам потребуется настоящее имя домена. Используем FQDN, который предоставляет Ansible
# Если автоматическая конфигурация Nginx отключена, также используйте FQDN, поскольку,
# предположительно, другая роль будет управлять конфигурацией vhost.
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

# Если Jitsi Videobridge находится за NAT, установите эти значения, чтобы сделать ICE работающим
jitsi_meet_videobridge_nat:
  local_ip: ''
  public_ip: ''

# Недавнее нововведение в области конфиденциальности, подробности здесь:
# 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 и настроит vhost для использования с jitsi-meet.
# Если вы предпочитаете управлять веб vhosts с помощью отдельной роли, установите это значение в 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 OneOffTech/ansible-role-jitsi-meet
Лицензия
Unknown
Загрузки
89
Владелец