229 lines
4.7 KiB
ReStructuredText
229 lines
4.7 KiB
ReStructuredText
=============
|
||
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.
|
||
I’m 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
|
||
|
||
|
||
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 systemctl restart nginx.service
|
||
|