oneoffadmins.ansible_role_jitsi_meet

jitsi-meet

安装和配置Jitsi Meet视频会议软件。

要求

您应该已经将DNS指向服务器,并且有SSL密钥。如果您还没有域的SSL密钥,建议使用优秀的thefinn93.letsencrypt Ansible角色来获取(免费的!)SSL证书,来自LetsEncrypt

您还需要开放TCP 443端口和UDP 10000端口,以便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推断的FQDN,但如果
# 您使用较短的主机名,可以明确设置变量值。
# 如果自动的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的屏幕共享配置。如果您希望在Firefox下使用屏幕共享,
# 将max_version设置为'42',并将disabled设置为'false'。
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 deb包过程中对交互提示的回答。
# 如果您使用自定义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使用。
# 如果您想通过单独的角色管理Web vhosts,请将其设置为false。
jitsi_meet_configure_nginx: true

屏幕共享

Jitsi Meet支持通过浏览器扩展进行屏幕共享功能。 仅需要共享屏幕的参与方安装扩展——其他会议参与者 无需安装任何软件即可查看共享屏幕。 您需要为Chrome和/或Firefox构建自己的浏览器扩展。 请参见Jidesha文档以获取详细的构建说明。此角色仅测试了自定义Chrome扩展。

Chrome禁止从未批准的网站安装扩展,因此您必须 直接下载.crx文件,然后导航到chrome://extensions并 拖放该扩展进行安装。如果您想为另一位参与者提供屏幕共享支持,请通过 Jitsi Meet的文本聊天面板与他们共享扩展的URL。

依赖项

这并不是技术上的依赖,但您应该查看thefinn93.letsencrypt 以获得惊人简单的SSL证书。

示例剧本

包含一个如何使用您的角色的示例(例如,将变量作为参数传入)对用户来说总是很有用:

- name: 配置jitsi-meet服务器。
  hosts: jitsi
  vars:
    # 将此更改为与您的主机IP的DNS条目匹配。
    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

运行测试

此角色使用MoleculeServerSpec进行测试。要使用它:

pip install molecule
gem install serverspec
molecule test

您还可以运行选择性的命令:

molecule idempotence
molecule verify

有关更多信息,请参阅Molecule文档。

许可证

MIT

作者信息

新闻自由基金会

关于项目

Installs Jitsi Meet videoconferencing software

安装
ansible-galaxy install oneoffadmins.ansible_role_jitsi_meet
许可证
Unknown
下载
98
拥有者