============= meet.libre.is ============= Libre group videoconferencing with Jitsi. ``_ Jitsi ===== Jitsi main site: ``_ Jitsi docs: ``_ Self-hosting guide: ``_ Jitsi meeting site: ``_ Community Forum: ``_ The various bits that make up Jitsi. Not all components are needed. coTURN ------ TURN server. Galaxy ------ "Galaxy is a web application for Jitsi admins and users to organize their Jitsi meetings, meeting schedules and attendees." Third party application. ``_ JaaS ---- Jitsi as a Service. Jitsi Meet deployed by the 8x8, Inc. company for organizations that don't want to self-host. Jibri ----- "Jibri provides services for recording or streaming a Jitsi Meet conference." ``_ Jicofo ------ Jicofo. Jidesha ------- Chromium browser extension. Jigasi ------ Server application that allows SIP clients to join. Should be used with Debian oldstable (11/bullseye) per: ``_ Jitsi Admin ----------- "Jitsi Manager, also known as Jitsi Admin, is a powerful tool designed to manage Jitsi conferences and servers effectively." ``_ Third party application. Jitsi Desktop ------------- End user client software. Downloads: ``_ Jitsi Meet ---------- Conferencing server. Prosody ------- Jabber (XMPP) server written in Lua. ``_ Prosody Plugins --------------- "Collection of community-contributed prosody plugins that can be added to self-hosted Jitsi deployments." ``_ Videobridge ----------- WebRTC. Handles the video/audio streams. This needs the bandwidth. Debian ====== According to the documentation, Jitsi uses an ancient OpenJDK, so Debian oldstable (11/bullseye) is used. But according to one of the main developers, Debian stable (12/bookworm) is ok for most components: "Yep, java 17 should be fine with latest stable. I’m currently testing jigasi with java17, that is the only one that current stable should be used with java11." ``_ Here Debian stable (12/bookworm will be used). Install packages from Debian. Firewall ======== The following ports need to be open on the firewall: .. code-block:: cfg 80/tcp Web http 443/tcp Web https 10000/udp Audio/video stream over UDP 22/tcp SSH (best use alternate port) 3478/udp STUN 5349/tcp Audio/video stream over TCP XXX It appears to be using a lot more UDP ports, open all UDP for now... XXX Installation ============ Install software from Debian, Jitsi, and Prosody repos. .. code-block:: sh sudo apt install apt-transport-https curl wget gnupg2 lua5.2 sudo apt install nginx-full python3-certbot-nginx If IPv6 is disabled, nginx install will fail. To fix it, after the above command runs, edit /etc/nginx/sites-enabled/default and disable this IPv6 line by deleting it or commenting it out: .. code-block:: nginx listen [::]:80 default_server; Then reinstall and it will be happy: .. code-block:: sh sudo apt install nginx-full python3-certbot-nginx Add Prosody and Jitsi repos: .. code-block:: sh sudo curl -sL https://prosody.im/files/prosody-debian-packages.key \ -o /etc/apt/keyrings/prosody-debian-packages.key sudo curl -sL https://download.jitsi.org/jitsi-key.gpg.key | \ sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg' echo "deb [signed-by=/etc/apt/keyrings/prosody-debian-packages.key] \ http://packages.prosody.im/debian $(lsb_release -sc) main" | \ sudo tee /etc/apt/sources.list.d/prosody-debian-packages.list echo "deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] \ https://download.jitsi.org stable/" | \ sudo tee /etc/apt/sources.list.d/jitsi-stable.list sudo apt update Now finally install the Jitsi package: .. code-block:: sh sudo apt install jitsi-meet Don't have it set up a phone number with JaaS. Edit /etc/nginx/sites-available/meet.libre.is.conf and remove the two IPv6 "::" lines. Remove the old web config: .. code-block:: sh rm /etc/nginx/sites-enabled/default Restart the server: .. code-block:: sh sudo systemctl restart nginx.service Now the website should be available here: ``_ If the install munged the certbot certificate, run this again and select re-install. .. code-block:: sh certbot -d meet.libre.is sudo update-ca-certificates sudo systemctl restart nginx.service jicofo.service \ prosody.service jitsi-videobridge2.service