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
ansible-galaxy install freedomofpress.jitsi-meet