oneoffadmins.ansible_role_jitsi_meet

jitsi-meet

Installiert und konfiguriert die Jitsi Meet Videokonferenzsoftware.

Anforderungen

Sie sollten bereits einen DNS auf den Server zeigen haben und SSL-Zertifikate. Wenn Sie noch keine SSL-Zertifikate für die Domain haben, ziehen Sie in Betracht, die ausgezeichnete thefinn93.letsencrypt Ansible-Rolle zu verwenden, um (kostenlose!) SSL-Zertifikate von LetsEncrypt zu erhalten.

Sie müssen auch die Ports 443 TCP und 10000 UDP freigeben, damit die Jitsi Meet Komponenten funktionieren. Standardmäßig wird die Rolle ufw verwenden, um diese Ports zuzulassen. Wenn Sie eine andere hostbasierte Firewall-Lösung wie iptables verwenden, setzen Sie jitsi_meet_configure_firewall: false. Wenn Sie AWS oder ähnliches verwenden, müssen Sie diese Ports in der zugehörigen Sicherheitsgruppe freigeben.

Rollenvariablen

# Die standardmäßigen Zertifikatdateien sind /var/lib/prosody/localhost.{crt,key}
# Sie sind hier nicht eingestellt, weil leere Zeichenfolgen für benutzerdefinierte Zertifikate
# dazu führen, dass die benutzerdefinierten Nginx-Konfigurationstasks übersprungen werden.
jitsi_meet_ssl_cert_path: ''
jitsi_meet_ssl_key_path: ''

# Ohne SSL ist "localhost" der richtige Standard. Wenn SSL-Informationen bereitgestellt werden,
# benötigen wir einen echten Domainnamen. Wir verwenden den von Ansible abgeleiteten FQDN, aber Sie
# können den Variablenwert explizit setzen, wenn Sie einen kürzeren Hostnamen verwenden.
# Wenn die automatische Nginx-Konfiguration deaktiviert ist, verwenden Sie ebenfalls FQDN,
# da eine andere Rolle wahrscheinlich die Vhost-Konfiguration verwaltet.
jitsi_meet_server_name: "{{ ansible_fqdn if (jitsi_meet_ssl_cert_path or not jitsi_meet_configure_nginx) else 'localhost' }}"

# Nur "anonyme" Authentifizierung wird unterstützt, die es jedem erlaubt, den Videokonferenzserver zu nutzen.
jitsi_meet_authentication: anonymous

# Die Installation des Debian-Pakets von jitsi-meet generiert Geheimnisse für die Komponenten.
# Die Rolle liest die Konfigurationsdatei und bewahrt die Geheimnisse auch beim Templating.
# Wenn Sie Ihre eigenen Geheimnisse generieren und verwenden möchten, überschreiben Sie diese Variablen,
# aber stellen Sie sicher, dass Sie die Geheimnisse sicher speichern, z.B. mit ansible-vault oder credstash.
jitsi_meet_videobridge_secret: ''
jitsi_meet_jicofo_secret: ''
jitsi_meet_jicofo_password: ''

# Standardauthentifizierungsinformationen, die in mehreren Dienstvorlagen verwendet werden.
jitsi_meet_jicofo_user: focus
jitsi_meet_jicofo_port: 5347

# Die Standardkonfigurationsdatei unter /etc/jitsi/videobridge/config gibt an, dass der Standardport
# für JVB "5275" ist, aber das Handbuch verweist auf "5347".
# https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md
jitsi_meet_videobridge_port: 5347

# Wenn Jitsi Videobridge hinter einem NAT steht, setzen Sie diese Werte, um ICE zu aktivieren.
jitsi_meet_videobridge_nat:
  local_ip: ''
  public_ip: ''

# Eine neue datenschutzfreundliche Ergänzung, siehe hier für Details:
# https://github.com/jitsi/jitsi-meet/issues/422
# https://github.com/jitsi/jitsi-meet/pull/427
jitsi_meet_disable_third_party_requests: true

# Bildschirmfreigabekonfiguration für Chrome. Sie müssen eine Browsererweiterung speziell für Ihre Domain
# erstellen und verpacken; siehe https://github.com/jitsi/jidesha
jitsi_meet_desktop_sharing_chrome_method: 'ext'
jitsi_meet_desktop_sharing_chrome_ext_id: 'diibjkoicjeejcmhdnailmkgecihlobk'

# Pfad zur lokalen Erweiterung auf der Festplatte, zum Kopieren auf das Zielgerät. Der entfernte Dateiname
# wird der Basisname des hier angegebenen Pfads sein.
jitsi_meet_desktop_sharing_chrome_extension_filename: ''

# Bildschirmfreigabekonfiguration für Firefox. Setzen Sie max_version auf '42' und disabled auf 'false',
# wenn Sie Bildschirmfreigabe unter Firefox verwenden möchten.
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'

# Diese debconf-Einstellungen repräsentieren Antworten auf interaktive Eingaben während der Installation
# des jitsi-meet deb-Pakets. Wenn Sie benutzerdefinierte SSL-Zertifikate verwenden, müssen Sie möglicherweise mehr Optionen festlegen.
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

# Die Rolle wird automatisch ufw mit den jitsi-meet Ports konfigurieren.
# Wenn Sie die Firewall anders verwalten, setzen Sie dies auf false, und ufw wird übersprungen.
jitsi_meet_configure_firewall: true

# Die Rolle wird automatisch nginx installieren und einen Vhost für die Verwendung mit jitsi-meet konfigurieren.
# Wenn Sie die Webvhosts lieber über eine separate Rolle verwalten möchten, setzen Sie dies auf false.
jitsi_meet_configure_nginx: true

Bildschirmfreigabe

Jitsi Meet unterstützt die Bildschirmfreigabefunktionalität über Browsererweiterungen. Nur die Person, die den Bildschirm teilt, muss die Erweiterung installiert haben — andere Teilnehmer in der Besprechung können den geteilten Bildschirm ohne Installation von etwas sehen. Sie müssen Ihre eigene Browsererweiterung für Chrome und/oder Firefox erstellen. Siehe die Jidesha Dokumentation für detaillierte Build-Anleitungen. Diese Rolle wurde nur mit benutzerdefinierten Chrome-Erweiterungen getestet.

Chrome verbietet die Installation von Erweiterungen von nicht genehmigten Websites, daher müssen Sie die .crx-Datei direkt herunterladen und dann zu chrome://extensions navigieren und die Erweiterung per Drag-and-Drop installieren. Wenn Sie einem anderen Teilnehmer die Unterstützung für die Bildschirmfreigabe gewähren möchten, teilen Sie die URL für die Erweiterung mit ihnen über das Jitsi Meet Textchat-Fenster.

Abhängigkeiten

Es ist technisch keine Abhängigkeit, aber Sie sollten sich thefinn93.letsencrypt für erstaunlich einfache SSL-Zertifikate ansehen.

Beispiel-Playbook

Ein Beispiel, wie Sie Ihre Rolle verwenden können (zum Beispiel mit übergebenen Variablen als Parameter), ist immer schön für die Nutzer:

- name: Jitsi-Meet-Server konfigurieren.
  hosts: jitsi
  vars:
    # Ändern Sie dies, um dem DNS-Eintrag für Ihre Host-IP zu entsprechen.
    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

Tests ausführen

Diese Rolle verwendet Molecule und ServerSpec für Tests. Um sie zu verwenden:

pip install molecule
gem install serverspec
molecule test

Sie können auch selektive Befehle ausführen:

molecule idempotence
molecule verify

Siehe die Molecule Docs für weitere Informationen.

Lizenz

MIT

Autoreninformation

Freedom of the Press Foundation

Über das Projekt

Installs Jitsi Meet videoconferencing software

Installieren
ansible-galaxy install oneoffadmins.ansible_role_jitsi_meet
GitHub Repository
Lizenz
Unknown
Downloads
98
Besitzer