oneoffadmins.ansible_role_jitsi_meet

jitsi-meet

This sets up and configures Jitsi Meet, a software for video conferencing.

Requirements

You need to have a domain name pointing to your server and SSL certificates ready. If you don't have SSL certificates, you can use the thefinn93.letsencrypt Ansible role to get free SSL certificates from LetsEncrypt.

Make sure to open the TCP port 443 and UDP port 10000 on your server for Jitsi Meet to function correctly. By default, this role will use ufw to open these ports. If you're using another firewall, like iptables, set jitsi_meet_configure_firewall: false. On AWS or similar services, open these ports in your Security Group.

Role Variables

Here are some important configuration options:

jitsi_meet_ssl_cert_path: ''  # Leave blank for the default certificates.
jitsi_meet_ssl_key_path: ''   # Leave blank for the default key.

# The server name. Defaults to "localhost" unless SSL is set.
jitsi_meet_server_name: "{{ ansible_fqdn if (jitsi_meet_ssl_cert_path or not jitsi_meet_configure_nginx) else 'localhost' }}"

# Only anonymous authentication is allowed.
jitsi_meet_authentication: anonymous

# Secrets generated by the installation.
# If you want to use your own, set these variables.
jitsi_meet_videobridge_secret: ''
jitsi_meet_jicofo_secret: ''
jitsi_meet_jicofo_password: ''

# Default user and port settings.
jitsi_meet_jicofo_user: focus
jitsi_meet_jicofo_port: 5347
jitsi_meet_videobridge_port: 5347

# Settings if Jitsi is behind a NAT.
jitsi_meet_videobridge_nat:
  local_ip: ''
  public_ip: ''

# Disables third-party requests for privacy.
jitsi_meet_disable_third_party_requests: true

# Screen sharing setup for Chrome.
jitsi_meet_desktop_sharing_chrome_method: 'ext'
jitsi_meet_desktop_sharing_chrome_ext_id: 'diibjkoicjeejcmhdnailmkgecihlobk'
jitsi_meet_desktop_sharing_chrome_extension_filename: ''

# Screen sharing setup for Firefox, disabled by default.
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'

# Answers to prompts during the installation.
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

# Automatically configures the firewall.
jitsi_meet_configure_firewall: true

# Automatically installs nginx and sets it up for Jitsi.
jitsi_meet_configure_nginx: true

Screen Sharing

Jitsi Meet allows users to share their screen using browser extensions. Only the person who wants to share their screen needs to install the extension; others in the meeting can see the shared screen without any extra installations. You'll need to create a browser extension for Chrome and/or Firefox. Check the Jidesha documentation for further instructions.

For Chrome, as the browser restricts extensions from unauthorized sites, download the .crx file directly, go to chrome://extensions, and drag the file there to install it. If another participant wants to share their screen, send them the URL for the extension through the chat in Jitsi Meet.

Dependencies

While it's not strictly a dependency, consider looking at thefinn93.letsencrypt for easy SSL certificate setup.

Example Playbook

Here's an example of how to use this role:

- name: Configure jitsi-meet server.
  hosts: jitsi
  vars:
    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

Running the Tests

This role uses Molecule and ServerSpec for testing. To run the tests:

pip install molecule
gem install serverspec
molecule test

You can also run specific commands:

molecule idempotence
molecule verify

Refer to the Molecule documentation for more information.

License

MIT

Author Information

Freedom of the Press Foundation

Informazioni sul progetto

Installs Jitsi Meet videoconferencing software

Installa
ansible-galaxy install oneoffadmins.ansible_role_jitsi_meet
Licenza
Unknown
Download
98
Proprietario