freedomofpress.jitsi-meet

jitsi-meet

Instaluje i konfiguruje oprogramowanie do wideokonferencji Jitsi Meet.

Wymagania

Powinieneś mieć już skierowany DNS na serwer, oraz klucze SSL. Jeśli jeszcze nie masz kluczy SSL dla domeny, rozważ użycie doskonałej roli Ansible thefinn93.letsencrypt, aby uzyskać (darmowe!) certyfikaty SSL od LetsEncrypt.

Musisz również otworzyć porty 443 TCP i 10000 UDP, aby komponenty Jitsi Meet mogły działać. Domyślnie rola używa ufw, aby zezwolić na te porty. Jeśli używasz innego rozwiązania zapory opartego na hoście, jak iptables, ustaw jitsi_meet_configure_firewall: false. Jeśli korzystasz z AWS lub podobnych, musisz otworzyć te porty w odpowiedniej grupie zabezpieczeń.

Zmienne roli

# Domyślne pliki certyfikatów to /var/lib/prosody/localhost.{crt,key}
# Nie ustawiamy ich tutaj, ponieważ puste ciągi dla niestandardowych certyfikatów spowodują
# pominięcie zadań konfiguracyjnych Nginx.
jitsi_meet_ssl_cert_path: ''
jitsi_meet_ssl_key_path: ''

# Bez SSL, "localhost" to poprawny domyślny wpis. Jeśli podano informacje o SSL,
# potrzebna będzie prawdziwa nazwa domeny. Używa wnioskowanej FQDN Ansible, ale
# możesz ustawić wartość zmiennej jawnie, jeśli używasz krótszej nazwy hosta.
# Jeśli automatyczna konfiguracja Nginx jest wyłączona, również użyj FQDN,
# ponieważ przypuszczalnie inna rola zarządzi konfiguracją vhost.
jitsi_meet_server_name: "{{ ansible_fqdn if (jitsi_meet_ssl_cert_path or not jitsi_meet_configure_nginx) else 'localhost' }}"

# Obsługiwane jest tylko "anonimowe" uwierzytelnianie, które pozwala każdemu
# korzystać z serwera wideokonferencyjnego.
jitsi_meet_authentication: anonymous

# Instalacja pakietu Debian jitsi-meet wygeneruje sekrety dla komponentów.
# Rola odczyta plik konfiguracyjny i zachowa sekrety, nawet podczas tworzenia szablonów.
# Jeśli chcesz wygenerować własne sekrety i je wykorzystać, nadpisz te zmienne,
# ale upewnij się, że przechowujesz sekrety w bezpieczny sposób, np. za pomocą ansible-vault lub credstash.
jitsi_meet_videobridge_secret: ''
jitsi_meet_jicofo_secret: ''
jitsi_meet_jicofo_password: ''

# Domyślne informacje uwierzytelniające, używane w wielu szablonach usług.
jitsi_meet_jicofo_user: focus
jitsi_meet_jicofo_port: 5347

# Domyślny plik konfiguracyjny w /etc/jitsi/videobridge/config przechowuje,
# że domyślny port dla JVB to "5275", ale podręcznik instalacji ręcznej odnosi się do "5347".
jitsi_meet_videobridge_port: 5347

# Ostatnia, przyjazna dla prywatności aktualizacja, szczegóły tutaj:
jitsi_meet_disable_third_party_requests: true

# Konfiguracja udostępniania ekranu dla Chrome. Musisz zbudować i spakować rozszerzenie
# przeglądarki specjalnie dla swojej domeny; zobacz https://github.com/jitsi/jidesha
jitsi_meet_desktop_sharing_chrome_method: 'ext'
jitsi_meet_desktop_sharing_chrome_ext_id: 'diibjkoicjeejcmhdnailmkgecihlobk'

# Ścieżka do lokalnego rozszerzenia na dysku, do skopiowania na docelowy host. Zdalna
# nazwa pliku będzie nazwą podstawową podanej tutaj ścieżki.
jitsi_meet_desktop_sharing_chrome_extension_filename: ''

# Konfiguracja udostępniania ekranu dla Firefox. Ustaw max_version na '42' i disabled na 'false'
# jeśli chcesz używać udostępniania ekranu w 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'

# Te ustawienia debconf reprezentują odpowiedzi na interaktywne pytania podczas instalacji
# pakietu jitsi-meet. Jeśli używasz niestandardowych certyfikatów SSL, musisz ustawić więcej opcji.
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

# Rola automatycznie zainstaluje i skonfiguruje ufw z otworami portowymi dla jitsi-meet.
# Jeśli zarządzasz zaporą w inny sposób, ustaw to na false, a ufw zostanie pominięte.
jitsi_meet_configure_firewall: true

# Rola automatycznie zainstaluje nginx i skonfiguruje vhost do użycia z jitsi-meet.
# Jeśli wolisz zarządzać wirtualnymi hostami za pomocą osobnej roli, ustaw to na false.
jitsi_meet_configure_nginx: true

Udostępnianie ekranu

Jitsi Meet wspiera funkcjonalność udostępniania ekranu poprzez rozszerzenia przeglądarki. Tylko strona udostępniająca ekran musi mieć zainstalowane rozszerzenie—inni uczestnicy w spotkaniu będą mogli zobaczyć udostępniany ekran bez konieczności instalowania czegokolwiek. Będziesz musiał stworzyć własne rozszerzenie przeglądarki dla Chrome i/lub Firefox. Zobacz dokumentację Jidesha po szczegółowe instrukcje budowania. Ta rola była testowana tylko z niestandardowymi rozszerzeniami Chrome.

Chrome zabrania instalowania rozszerzeń z niezatwierdzonych stron internetowych, więc musisz bezpośrednio pobrać plik .crx, a następnie przejść do chrome://extensions i przeciągnąć rozszerzenie, aby je zainstalować. Jeśli chcesz umożliwić innemu uczestnikowi wsparcie udostępniania ekranu, podziel się z nim adresem URL rozszerzenia za pomocą czatu tekstowego Jitsi Meet.

Zależności

Technicznie nie jest to zależność, ale powinieneś zapoznać się z thefinn93.letsencrypt dla niezwykle łatwych certyfikatów SSL.

Przykładowy playbook

Zawsze miło jest dołączyć przykład, jak używać swojej roli (na przykład z przekazanymi zmiennymi jako parametry):

- name: Konfiguruj serwer jitsi-meet.
  hosts: jitsi
  vars:
    # Zmień to, aby pasowało do wpisu DNS dla twojego adresu IP hosta.
    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

Uruchamianie testów

Ta rola używa Molecule i ServerSpec do testowania. Aby jej użyć:

pip install molecule
gem install serverspec
molecule test

Możesz również uruchamiać selektywne komendy:

molecule idempotence
molecule verify

Zobacz dokumentację Molecule po więcej informacji.

Licencja

MIT

Informacje o autorze

Freedom of the Press Foundation

O projekcie

Installs Jitsi Meet videoconferencing software

Zainstaluj
ansible-galaxy install freedomofpress.jitsi-meet
Licencja
Unknown
Pobrania
155
Właściciel
Defending and supporting cutting-edge transparency journalism in the face of adversity.