Jitsi Meet - prywatne wideokonferencje

Bezpieczna i skalowalna aplikacja do wideokonferencji na bazie znanego projektu open-source

Dlaczego Jitsi Meet?

Obecnie nie brakuje dostawców platform oferujących możliwość realizowania wideokonferencji za pomocą przeglądarki internetowej. Jednak za każdym razem, gdy korzystamy aplikacji SaaS, pojawia się pytanie o poufność i prywatności takich spotkań. W rezultacie, często szukamy alternatyw, które mogą być instalowane tam gdzie chcemy. Narzędzie do wideokonferencji Jitsi Meet o otwartym kodzie źródłowym zyskuje coraz większą popularność, ponieważ można je zainstalować u preferowanego dostawcy chmury lub lokalnie.

Kluczowe zalety korzystania z wideokonferencji Jitsi:

  • Rozwiązanie typu open-source dostarczane bezpłatnie i przy szerokim wsparciu społeczności

  • Instalacja jednym kliknięciem i łatwa konfiguracja

  • Przyjazny proces aranżowania połączeń wideo i audio oraz sal wielo-konferencyjnych

  • Wysoki poziom prywatności i bezpieczeństwa dzięki wdrożeniu w izolowanych kontenerach z szyfrowanym ruchem

  • Wsparcie wszystkich dostępnych klientów (Windows, Linux, Mac, iOS, Android)

Ponadto, Jitsi przyciąga kilkoma unikalnymi funkcjami dostępnymi z poziomu aplikacji:

  • Rozpocznij transmisję na żywo - pozwala na strumieniowanie audio i wideo przez Youtube.

  • Rozpocznij nagrywanie - umożliwia nagrywanie spotkań w postaci pliku MP4 i automatycznie zapisuje je w /root/.jitsi-meet-cfg/jibri/recordings, czyli folderze pojemnika aplikacji.

Repozytorium nagrań Jitsi w obrębie kontenera
  • Udostępnij wideo z YouTube - umożliwia odtwarzanie wideo z YouTube wszystkim uczestnikom spotkania.

  • Rozmyj moje tło - wykrywa korpus i wyświetla go bez zniekształceń, ale rozmywa otaczające go tło.

Podmiana tła lub efekty rozmycia w Jitsi

Podobnie jak w innych systemach konferencyjnych możesz udostępnić swój ekran za pomocą przycisku w lewym dolnym rogu panelu aplikacji. Pozwala na emisję ekranu do wszystkich uczestników:

  • Cały ekran komputera

  • Okno konkretnej aplikacji

  • Konkretna karta przeglądarki internetowej

Bezpieczeństwo transmisji. W przypadku spotkań 1 na 1 dźwięk i obraz są zawsze szyfrowane przy użyciu protokołu DTLS-SRTP od nadawcy do odbiorcy. W przypadku spotkań wielostronnych, cały ruch audio i wideo w sieci jest także szyfrowany. Dane są odszyfrowywane podczas przechodzenia przez mostek wideo, ale nigdy nie są przechowywane w trwałej pamięci masowej i pozostają tylko w pamięci operacyjnej, gdy są kierowane do innych uczestników spotkania. Ponadto, Jitsi uruchamiamy jako prywatną instancję w izolowanym kontenerze, jest ona pod Twoją pełną kontrolą i żadna osoba trzecia nie ma do niej dostępu!

W tym artykule przedstawimy, jak w kilka minut uruchomić Jitsi na Cloudlets.Zone, aby uzyskać pełną kontrolę nad danymi, bezpieczny hosting w centrum danych w Polsce oraz wyeliminować potrzebę ręcznej instalacji i konserwacji.

Instalacja Jitsi Meet

  1. Zaloguj się do Panelu Usługi Cloudlets.Zone i wyszukaj Jitsi na naszym Marketplace, następnie wciśnij Instaluj.

2. Wybierz tryb instalacji, czyli czy ma to być pojedynczy kontener, czy może instalacja w postaci klastra wysokiej dostępności (HA) i opcjonalnie nazwij tworzone środowisko.

3. Po kilku minutach, po prawidłowej instalacji pojawi się okienko z poświadczeniami, które wysłane zostaną także na adres adres e-mail przypisany do Twojego konta.

4. Kliknij URL serwera Jitsi lub przycisk Otwórz w przeglądarce, aby uzyskać dostęp do panelu administracyjnego wideokonferencji.

Certyfikat SSL. Domyślnie dla domeny tymczasowej generowany jest testowy certyfikat pośredni ( „Fake LE Intermediate X1” ). Nadaje się on wyłącznie do celów ewaluacyjnych lub testowych. Wiekszość przeglądarek będzie zgłaszało problem z certyfikatem i aby używać go mimo to, trzeba będzie dodawać wyjątek bezpieczeństwa.

Do celów produkcyjnych, należy powiązać własną domenę do środowiska i uzyskać dla niej ważny certyfikat SSL.

Dodawanie własnej domeny do serwera Jitsi

A.Z poziomu środowiska wybierz więcej (dodatki) oraz change w rozszerzeniu Domain Configuration.

B. Wpisz własną domenę niestandardową uprzednio dodając odpowiedni rekord A lub CNAME do DNS. W naszym przykładzie do DNS domeny viability.pl dodaliśmy następujący rekord:

CNAME | jitsi | jitsi.node.cloudlets.zone

C. Sprawdź, czy domena odpowiada właściwie np. używając DNS Checker - w naszym przykładzie domena jitsi.viability.pl powinna zwrócić adres 212.127.94.38

i dopiero wówczas zatwierdź zmianę klikając przycisk Zastosuj.

Po kilku chwilach, nasza domena powinna prezentować się już z nowym certyfikatem SSL wystawcy Let's encrypt, który honorują najpopularniejsze przeglądarki.

5. Możesz skorzystać z generatora nazw spotkań, aby uniknąć nadpisania wcześniejszych (o ile się zakończyły) lub dołączenia do jeszcze trwających o tej samej nazwie. Możesz też stworzyć własną nazwę, np. SzybkieSpotkanieOtwierajace. Kliknij Start meeting. Następnie naciśnij przycisk Jestem gospodarzem i wprowadź dane, które uzyskałeś podczas instalacji Jitsi, aby stać się administratorem wideokonferencji.

Spotkanie pojawia się, gdy pierwszy uczestnik dołącza do niego za pomocą adresu URL i jest usuwane zaraz po opuszczeniu go przez ostatniego uczestnika. Jeśli więc potrzebujesz cały czas utrzymywać jakąś salę z konkretnym spotkaniem, powinien tam zostać przynajmniej jeden uczestnik.

Jitsi może być używany do prowadzenia wielu spotkań jednocześnie z ograniczeniem do 75 klientów na spotkanie. Domyślnie, serwer Jitsi na Cloudlets.Zone ma wystarczającą pojemność zasobów, aby obsłużyć duże obciążenie, ale w razie potrzeby można go w locie skalować pionowo.

6. Następnym krokiem jest zabezpieczenie spotkania hasłem, aby mieć pewność, że nie dostanie się ktoś nieproszony, np. poprzez zbieżność nazw.

Teraz spotkanie jest gotowe do przyjmowania uczestników, którzy mają URL. Pamiętaj tylko by wysłać zaproszenia do nich z linkiem i hasłem.

Każdorazowo, po opuszczeniu spotkania przez wszystkich uczestników, hasło jest resetowane. Tak więc, dołączając do nowego spotkania w tym samym pokoju, pamiętaj, że hasło powinno zostać ustawione ponownie.

Jitsi Meet jako klaster wysokiej dostępności

Jeżeli zależy Ci na nadmiarowości i dużej wydajności systemu wideokonferencyjnego Jitsi, podczas instalacji pakietu możesz wybrać opcję Cluster. System wyskaluje aplikację Jitsi na określoną liczbę węzłów (pole Shards Number w ramce instalacyjnej).

W rezultacie otrzymasz klaster wysokiej dostępności (HA) z systemem równoważenia obciążenia opartym na HAProxy i dedykowanym węzłem magazynowania, aby przechowywać wszystkie rekordy w tym samym miejscu.

Klaster Jitsi Meet ma następujące cechy:

  • Klienci są podzieleni według nazwy pokojów.

  • Rozmiar pokoju (liczba jednoczesnych klientów) zależy od ilości zasobów przydzielonych na fragment (shard).

  • Pojedynczy pokój nie może być współdzielony przez wiele fragmentów. Jednak wszystkie pokoje i ich klienci zostaną podzieleni między fragmenty.

  • Poświadczenia administratora są takie same dla całego klastra.

  • Nagrania są zapisywane w pamięci współdzielonej, dzięki czemu wszystkie pliki znajdują się w tym samym miejscu.

  • Jeśli węzeł obsługujący pokój ulegnie awarii, wszyscy klienci zostaną automatycznie ponownie połączeni z nowym pokojem na innym fragmencie (po wprowadzeniu przez administratora danych uwierzytelniających dla nowej sesji Jitsi).

  • W trybie klastrowym certyfikat SSL Let's Encrypt jest zarządzany przez nasz dodatek. W trybie autonomicznym jest zarządzany bezpośrednio przez aplikację Jitsi.

Po instalacji wersji klastrowej Jitsi postępuj zgodnie z tą samą sekwencją, co w przypadku pojedynczej instancji.

Jak zmienić hasło administratora Jitsi?

W związku z tym, że na razie brakuje opcji zmiany hasła z poziomu aplikacji oraz zmiennych w Panelu Usługi Cloudlets.Zone, zamieszczamy jak to zrobić z poziomu linii komend.

1.Z menu naszego środowiska Jitsi wybieramy Web SSH i wpisujemy komendę:

docker ps

i szukamy na liście identyfikatora kontenera o nazwie: docker-jitsi-meet_prosody_1

2. Wpisujemy poniższą komendę, uprzednio kopiując do schowka identyfikator kontenera (Conteiner ID):

docker exec -it efb7de9c68b8 /bin/bash

3. Teraz pozostaje "już" dokonać zmiany hasła używając poniższej komendy. Dla mniej spostrzegawczych, ostatnia fraza to hasło :)

prosodyctl --config /config/prosody.cfg.lua register admin meet.jitsi Trudn3Hasl0

Zrobione!