Aplikacje i systemy w UniCloud
Własny system wideokonferencyjny z Jitsi
Jitsi jest wieloplatformowym oprogramowaniem open-source, kompatybilnym z WebRTC, obsługującym wideokonferencje, technologię VoIP, oraz będący komunikatorem internetowym, udostępnionym na licencji GNU LGPL [1].
Pokażemy, jak w bezpieczny, prosty i skalowalny sposób umożliwić uruchomienie własnego systemu wideokonferencyjnego z Jitsi [2]. W 2020 roku nastąpił niespotykany wcześniej wzrost popytu na usługi i systemy wspierające pracę zdalną. Oprócz oferty dostępnej u największych graczy na rynku, poszukiwane są alternatywne rozwiązania, które zabezpieczą poufność i prywatność komunikacji. Do tego typu rozwiązań należy Jitsi, którego korzenie sięgają roku 2003. Poszukiwana prywatność i bezpieczeństwo zapewniana jest poprzez wdrażanie izolowanych kontenerów z zaszyfrowanym ruchem. Dzięki rozwiązaniom chmurowym, możliwe jest uzyskanie własnego systemu wideokonferencyjnego, hostowanego i zabezpieczonego w lokalnym centrum danych, skalowalnego według potrzeb i dostępnego w ciągu kilku minut od rozpoczęcia instalacji. Nie jest wymagana nawet rejestracja konta.
Instalacja Jitsi w chmurze
Korzystając z panelu UniCloud [3] instalacja rozpoczyna się od importu pliku manifestu [4] z GitHub:
Rysunek 1: Import manifestu
Po zakończeniu instalacji otrzymamy dane gospodarza wideokonferencji (administratora).
Rysunek 3: Uruchomienie serwera po instalacji
Kliknij adres URL serwera Jitsi lub przycisk Otwórz w przeglądarce, aby uzyskać dostęp do panelu administracyjnego konferencji wideo.
Uwaga dotycząca bezpieczeństwa: |
Uruchamianie wideokonferencji
Rysunek 3: Okno startowe Jitsi
Aby uniknąć możliwych konfliktów nazw, można skorzystać z generatora nazw spotkań, lub utworzyć własną. Następnie, aby zostać administratorem usługi wideokonferencji, naciśnij przycisk Jestem gospodarzem i wprowadź poświadczenia, które otrzymałeś podczas instalacji.
Rysunek 4: Rozpoczęcie wideokonferencji
Spotkanie rozpoczyna się po podłączeniu przez URL pierwszego uczestnika i ulega destrukcji, gdy ostatni uczestnik je opuści. Jeśli wymagane jest utrzymanie pokoju z konkretnym spotkaniem, przez cały czas musi w nim pozostawać przynajmniej jeden uczestnik. W przeciwnym razie po połączeniu do tego samego pokoju konferencyjnego zostanie utworzone nowe spotkanie o tej samej nazwie, nie mające żadnego połączenia ze spotkaniem poprzednim.
Jitsi może być używany do prowadzenia wielu spotkań jednocześnie, z ograniczeniem 75 klientów podłączonych do jednego spotkania. Skonfigurowany jest domyślnie do przyjęcia znacznego obciążenia. W przypadku wystąpienia zwiększenia obciążenia, serwer może być skalowany w pionie bez przerywania działania.
Kolejnym krokiem jest zabezpieczenie spotkania hasłem, aby uniknąć nieproszonych gości.
Rysunek 5: Zabezpieczanie spotkania hasłem
Hasło jest resetowane po zakończeniu spotkania przez wszystkich uczestników. Dołączając do nowego spotkania w tym samym pokoju, hasło należy ustawić ponownie.
Dodatkowa funkcjonalność
Jitsi posiada wbudowane funkcje, takie jak możliwość udostępnienia wideo w YouTube wszystkim uczestnikom, czy rozmycie tła (osoba jest wyświetlona wyraźnie, tło ulega rozmazaniu). Możliwe jest oczywiście udostępnienie ekranu (cały ekran, okno aplikacji, albo zakładka przeglądarki).
Rysunek 6: Funkcje systemu
Uruchomienie produkcyjne we własnej domenie
Serwer jest uruchomiony z nazwą platformy uruchomieniowej i certyfikatem testowym. To wystarczy do testów i prac deweloperskich, albo potkania ad-hoc, ale do zastosowań produkcyjnych powinno się używać własnej domeny i wiarygodnego certyfikatu.
- Nazwę własnej domeny powiąż z serwerem Jitsi używając rekordu A lub CNAME. Adres IP serwera znajdziesz w topologii środowiska
Rysunek 7: Wyszukiwanie adresu IP serwera Jitsi
- Wygeneruj certyfikat SSL. Możesz w tym celu użyć własnego certyfikatu, lub skorzystać z narzędzi udostępnionych w platformie[3]
Rysunek 8: Dodanie certyfikatu SSL
W tym celu otwórz kartę Dodatki, znajdź dodatek Domain Certification i kliknij Change.
- Wpisz nazwę własnej domeny i zastosuj zmiany, aby rozpocząć procedurę generowania certyfikatu.
Rysunek 9: Generowanie certyfikatu
Proces kończy się wyświetleniem okna sukcesu
Rysunek 10: Zakończenie prac
Serwer Jitsi jest gotowy do pracy pod niestandardową nazwą, zabezpieczony ważnym certyfikatem SSL.
Info:
[1] Jitsi:
https://jitsi.org
[2] Jelastic, Blog:
https://jelastic.com/blog/java-connection-to-postgresql/
[3] Panel UniCloud:
https://app.unicloud.pl
[4] Manifest środowiska Jitsi
https://github.com/jelastic-jps/jitsi/blob/master/manifest.yaml
Autor:
Piotr Niemcewicz pracuje jako inżynier w Centrum Danych Asseco Data Systems S.A., gdzie zajmuje się projektowaniem i wsparciem podczas wdrażania systemów.