dev-libre-is/docs/_source/meet-libre-is.rst
2024-09-07 10:24:15 -06:00

234 lines
4.9 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

=============
meet.libre.is
=============
Libre group videoconferencing with Jitsi.
`<https://meet.libre.is/>`_
Jitsi
=====
Jitsi main site:
`<https://jitsi.org/>`_
Jitsi docs:
`<https://jitsi.github.io/handbook/docs/intro/>`_
Self-hosting guide:
`<https://jitsi.github.io/handbook/docs/devops-guide/>`_
Jitsi meeting site:
`<https://meet.jit.si/>`_
Community Forum:
`<https://community.jitsi.org/>`_
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.
`<https://github.com/emrahcom/galaxy>`_
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."
`<https://github.com/jitsi/jibri>`_
Jicofo
------
Jicofo.
Jidesha
-------
Chromium browser extension.
Jigasi
------
Server application that allows SIP clients to join.
Should be used with Debian oldstable (11/bullseye) per:
`<https://community.jitsi.org/t/is-openjdk-17-suitable-for-jicofo-and-jitsi-videobridge2-on-debian-11/109891/8>`_
Jitsi Admin
-----------
"Jitsi Manager, also known as Jitsi Admin, is a powerful tool designed to
manage Jitsi conferences and servers effectively."
`<https://github.com/H2-invent/jitsi-admin>`_
Third party application.
Jitsi Desktop
-------------
End user client software.
Downloads:
`<https://jitsi.github.io/handbook/docs/releases/>`_
Jitsi Meet
----------
Conferencing server.
Prosody
-------
Jabber (XMPP) server written in Lua.
`<https://prosody.im/>`_
Prosody Plugins
---------------
"Collection of community-contributed prosody plugins that can be added to
self-hosted Jitsi deployments."
`<https://github.com/jitsi-contrib/prosody-plugins>`_
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.
Im currently testing jigasi with java17, that is the only one that
current stable should be used with java11."
`<https://community.jitsi.org/t/is-openjdk-17-suitable-for-jicofo-and-jitsi-videobridge2-on-debian-11/109891/8>`_
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:
`<https://meet.libre.is/>`_
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
Logs are in /var/log/jitsi.