dev-libre-is/docs/_source/meet-libre-is.rst

244 lines
5.2 KiB
ReStructuredText
Raw Normal View History

2024-09-04 16:51:59 -06:00
=============
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.
2024-09-04 17:00:55 -06:00
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>`_
2024-09-04 16:51:59 -06:00
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.
2024-09-07 09:07:19 -06:00
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>`_
2024-09-04 17:00:55 -06:00
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.
2024-09-04 16:51:59 -06:00
Jitsi Desktop
-------------
End user client software.
2024-09-04 17:00:55 -06:00
Downloads:
`<https://jitsi.github.io/handbook/docs/releases/>`_
2024-09-04 16:51:59 -06:00
Jitsi Meet
----------
Conferencing server.
Prosody
-------
Jabber (XMPP) server written in Lua.
`<https://prosody.im/>`_
2024-09-04 17:00:55 -06:00
Prosody Plugins
---------------
"Collection of community-contributed prosody plugins that can be added to
self-hosted Jitsi deployments."
`<https://github.com/jitsi-contrib/prosody-plugins>`_
2024-09-04 16:51:59 -06:00
Videobridge
-----------
WebRTC. Handles the video/audio streams. This needs the bandwidth.
2024-09-07 09:07:19 -06:00
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
2024-09-07 09:21:48 -06:00
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
2024-09-07 09:07:19 -06:00
2024-09-07 10:23:20 -06:00
XXX It appears to be using a lot more UDP ports, open all UDP for now... XXX
2024-09-07 09:07:19 -06:00
Installation
============
Install software from Debian, Jitsi, and Prosody repos.
.. code-block:: sh
sudo apt install apt-transport-https curl wget gnupg2 lua5.2
2024-09-07 09:21:48 -06:00
sudo apt install nginx-full python3-certbot-nginx
2024-09-07 09:07:19 -06:00
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
2024-09-07 09:21:48 -06:00
sudo apt install nginx-full python3-certbot-nginx
2024-09-07 09:07:19 -06:00
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
2024-09-07 09:21:48 -06:00
sudo curl -sL https://download.jitsi.org/jitsi-key.gpg.key | \
sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'
2024-09-07 09:07:19 -06:00
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
2024-09-07 09:39:19 -06:00
Now finally install the Jitsi package:
2024-09-07 09:07:19 -06:00
.. code-block:: sh
2024-09-07 09:39:19 -06:00
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
2024-09-07 10:24:39 -06:00
sudo certbot -d meet.libre.is
2024-09-07 10:10:08 -06:00
sudo update-ca-certificates
2024-09-07 10:14:53 -06:00
sudo systemctl restart nginx.service jicofo.service \
prosody.service jitsi-videobridge2.service
2024-09-07 09:07:19 -06:00
2024-09-07 10:24:15 -06:00
Logs are in /var/log/jitsi.
2024-09-07 10:31:37 -06:00
Secure Domain
=============
By default, the conference rooms are wide open.
Anyone on the Internet can create and host a conference.
To lock it down see:
`<https://jitsi.github.io/handbook/docs/devops-guide/secure-domain/>`_