diyhosting/jitsi.html

127 lines
5.3 KiB
HTML

<!-- <!DOCTYPE html> -->
<html lang="en">
<head>
<title>Jitsi Video Chat &ndash; diyhosting.bhh.sh</title>
<!--# include file=".nav.html" -->
</head>
<body>
<header><h1>Jitsi Video Chat</h1></header>
<nav></nav>
<main>
<img src="pix/jitsi.svg" alt="Jitsi" class=titleimg>
<p>
<dfn>Jitsi</dfn> is a set of open-source projects that allows you to easily build and deploy secure video conferencing solutions.
</p>
<p>
Is really easy to install, and also a really good private, federated and libre alternative to Zoom or other video conferencing software.
You can create calls just by typing the URL, and loging-in is not necessary.
</p>
<h2>Dependencies and Installation</h2>
<p>First, install some dependencies:</p>
<pre><code>apt install gpg apt-transport-https nginx python3-certbot-nginx</code></pre>
<p>Jitsi has its own package repository, so let's add it.</p>
<pre class=wide><code>curl https://download.jitsi.org/jitsi-key.gpg.key | gpg --dearmor &#62; /usr/share/keyrings/jitsi-keyring.gpg
echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list
apt update -y</code></pre>
<p>
Ok. So now we can install Jitsi, but before we do that, let's setup the firewall <code>ufw</code>, in case you
have it enabled, and the SSL certificate.
</p>
<h2>Enable Required Ports</h2>
<p>If you are using <a href="ufw.html">ufw</a> or another firewall, there are several ports we need to ensure are open:</p>
<pre><code>ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 10000/udp
ufw allow 3478/udp
ufw allow 5349/tcp
ufw enable</code></pre>
<p>For your information, these allow the following:</p>
<ul>
<li>80 TCP &ndash; Certbot.</li>
<li>443 TCP &ndash; General access to Jitsi Meet.</li>
<li>10000 UDP &ndash; General network video/audio communications.</li>
<li>3478 UDP &ndash; Quering the stun server (coturn, optional, needs config.js change to enable it).</li>
<li>
5349 TCP &ndash; Fallback network video/audio communications over TCP (when UDP is blocked for example), served by coturn.
</li>
</ul>
<h2>SSL certificate</h2>
<p>
I'll be using <a href="./certbot.html" target="blank">certbot</a> and
<a href="./nginx.html" target="blank">Nginx</a> to generate a certificate
for the Jitsi subdomain to allow encrypted connections.
</p>
<pre><code>certbot --nginx certonly -d <strong>meet.example.org</strong></code></pre>
<p>
We will not create an Nginx config file for Jitsi because the Jitsi package we will be installing will do that automatically.
</p>
<h2>Installation</h2>
<p>To begin the installation process, just run:</p>
<pre><code>apt install jitsi-meet</code></pre>
<p>
It will ask you for your <code><strong>hostname</strong></code
>; there you'll need to input the subdomain you have just added to Nginx, like
<code><strong>meet.example.org</strong></code>.
</p>
<p>For the SSL certificate, choose <code>I want to use my own certificate</code>.</p>
<p>
When it ask you for the certification key and cert files, input
<code>/etc/letsencrypt/live/<strong>meet.example.org</strong>/privkey.pem</code> and
<code>/etc/letsencrypt/live/<strong>meet.example.org</strong>/fullchain.pem</code> respectively.
</p>
<h2>Using Jitsi</h2>
<img src="pix/jitsi-01.webp" alt="Jitsi once installed">
<p>Jitsi can be used in a browser by then just going to <code>meet.example.org</code>.</p>
<p>Note that there are also Jitsi clients for all major platforms:</p>
<ul>
<li><a href="https://desktop.jitsi.org/Main/Download.html">Desktop</a> (Windows, MacOS, GNU/Linux)</li>
<li>Android (<a href="https://f-droid.org/en/packages/org.jitsi.meet/">F-Droid</a> and <a href="https://play.google.com/store/apps/details?id=org.jitsi.meet">Google Play</a>)</li>
<li><a href="https://apps.apple.com/us/app/jitsi-meet/id1165103905">iPhone/iOS</a></li>
</ul>
<p>
<strong>When using a Jitsi app for the first time, remember to go to the "Settings" menu and change your server name to the Jitsi site you just created.</strong>
</p>
<p>When you create a video chatroom, its address will appear as <code><strong>meet.example.org/yourvideochatname</strong></code> and can be shared as such.</p>
<h2>More info</h2>
<p>
This article is based on <a href="https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart" target="blank">the original documentation</a>. There you can find more details and configurations.
</p>
<ul>
<li>Written by <a href="https://josefabio.com" target="blank">Jose Fabio.</a> Donate Monero: <code class="crypto">484RLdsXQCDGSthNatGApRPTyqcCbM3PkM97axXezEuPZppimXmwWegiF3Et4BHBgjWR7sVXuEUoAeVNpBiVznhoDLqLV7j</code> <a href="https://josefabio.com/figures/monero.jpg" class="crypto" target="blank">[QR]</a></li>
<li>Edited and revised by <a href="https://lukesmith.xyz">Luke</a>.</li>
</ul>
</main>
<!--# include file=".footer.html" -->
</body>
</html>