freedomofpress.jitsi-meet

jitsi-meet

Installiert und konfiguriert die Videokonferenz-Software Jitsi Meet.

Anforderungen

Sie sollten bereits DNS auf den Server zeigen und SSL-Schlüssel haben. Wenn Sie noch keine SSL-Schlüssel für die Domain haben, sollten Sie das hervorragende Ansible-Roll thefinn93.letsencrypt 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 verwendet die Rolle ufw, um diese Ports zuzulassen. Wenn Sie eine andere Host-basierte 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.

Rollen-Variablen

# Die Standardzertifikatsdateien sind /var/lib/prosody/localhost.{crt,key}
# Sie werden hier nicht gesetzt, da leere Strings für benutzerdefinierte Zertifikate die
# benutzerdefinierten Nginx-Konfigurationsaufgaben überspringen würden.
jitsi_meet_ssl_cert_path: ''
jitsi_meet_ssl_key_path: ''

# Ohne SSL ist "localhost" der korrekte Standard. Wenn SSL-Informationen bereitgestellt werden,
# benötigen wir einen echten Domainnamen. Es wird der von Ansible abgeleitete FQDN verwendet, aber Sie
# können den Variablenwert ausdrücklich festlegen, wenn Sie einen kürzeren Hostnamen verwenden.
# Wenn die automatische Nginx-Konfiguration deaktiviert ist, verwenden Sie ebenfalls den FQDN, da
# voraussichtlich eine andere Rolle 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 ermöglicht, den Videokonferenzserver zu verwenden.
jitsi_meet_authentication: anonymous

# Die Debian-Paketinstallation 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 diese verwenden möchten, überschreiben Sie diese Variablen,
# aber stellen Sie sicher, die Geheimnisse sicher zu speichern, z.B. mit ansible-vault oder credstash.
jitsi_meet_videobridge_secret: ''
jitsi_meet_jicofo_secret: ''
jitsi_meet_jicofo_password: ''

# Standard-Authentifizierungsinformationen, die in mehreren Servicetemplates verwendet werden.
jitsi_meet_jicofo_user: focus
jitsi_meet_jicofo_port: 5347

# Die Standardkonfigurationsdatei unter /etc/jitsi/videobridge/config beansprucht, 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

# Eine aktuelle, 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 den Zielhost. 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 stellen Antworten auf interaktive Eingabeaufforderungen während 
# der Installation des jitsi-meet deb-Pakets dar. Wenn Sie benutzerdefinierte SSL-Zertifikate verwenden, 
# müssen Sie möglicherweise weitere 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 installiert automatisch und konfiguriert ufw mit Jitsi Meet-Portfreigaben.
# Wenn Sie eine Firewall anderweitig verwalten, setzen Sie dies auf false, und ufw wird übersprungen.
jitsi_meet_configure_firewall: true

# Die Rolle installiert automatisch nginx und konfiguriert einen vhost zur Verwendung mit Jitsi Meet.
# Wenn Sie die Verwaltung von Web-vhosts über eine separate Rolle bevorzugen, setzen Sie dies auf false.
jitsi_meet_configure_nginx: true

Bildschirmfreigabe

Jitsi Meet unterstützt die Bildschirmfreigabefunktion über Browsererweiterungen. Nur die Person, die den Bildschirm teilt, muss die Erweiterung installiert haben – andere Teilnehmer in der Sitzung können den freigegebenen Bildschirm ohne Installation ansehen. Sie müssen Ihre eigene Browsererweiterung für Chrome und/oder Firefox erstellen. Siehe die Jidesha-Dokumentation für detaillierte Anweisungen. 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 & Drop installieren. Wenn Sie einem anderen Teilnehmer Unterstützung bei der Bildschirmfreigabe gewähren möchten, teilen Sie den URL für die Erweiterung über das Jitsi Meet-Textchat-Fenster mit.

Abhängigkeiten

Es ist technisch nicht eine Abhängigkeit, aber Sie sollten thefinn93.letsencrypt für unglaublich einfache SSL-Zertifikate in Betracht ziehen.

Beispiel-Playbook

Ein Beispiel, wie man Ihre Rolle benutzt (zum Beispiel mit Variablen, die als Parameter übergeben werden), ist immer gut für Benutzer:

- 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-Dokumentation für weitere Informationen.

Lizenz

MIT

Autoreninformation

Freedom of the Press Foundation

Über das Projekt

Installs Jitsi Meet videoconferencing software

Installieren
ansible-galaxy install freedomofpress.jitsi-meet
Lizenz
Unknown
Downloads
155
Besitzer
Defending and supporting cutting-edge transparency journalism in the face of adversity.