jitsi revisions

This commit is contained in:
Luke Smith 2021-08-03 13:00:43 -04:00
parent 4ef10c70b4
commit 0d6a0b3d8d
No known key found for this signature in database
GPG Key ID: 4C50B54A911F6252
5 changed files with 806 additions and 77 deletions

View File

@ -66,6 +66,7 @@
<li><a href="pleroma.html">Pleroma, a federated Twitter-like Microblogging Site</a></li>
<li><a href="peertube.html"><img src="pix/peertube.svg" alt="peertube logo">PeerTube, a federated YouTube-like video Site</a></li>
<li><a href="nextcloud.html">Setting up a <img src="pix/nextcloud.svg">Nextcloud Instance (file hosting and more)</a></li>
<li><a href="jitsi.html"><img src="pix/jitsi.svg" alt="Jitsi logo">Jitsi: Free and Easy Video Conferencing</a></li>
<li><a href="gitea.html">Setting up <img src="pix/gitea.svg">Gitea</a></li>
<li><a href="irc.html">Creating your own chat server with <img src="pix/irc.svg">IRC</a></li>
<li><a href="rss-bridge.html">RSS Bridge: Create RSS Feeds for Mainstream Social Media</a></li>

View File

@ -1,7 +1,7 @@
<!-- <!DOCTYPE html> -->
<html lang="en">
<head>
<title>Self-hosting Jitsi &ndash; LandChad.net</title>
<title>Jitsi Video Chat &ndash; LandChad.net</title>
<meta charset="utf-8" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="style.css" />
@ -9,142 +9,122 @@
<link rel="alternate" type="application/rss+xml" title="Land Chad RSS" href="/rss.xml" />
</head>
<body>
<header><h1>Self-hosting Jitsi</h1></header>
<header><h1>Jitsi Video Chat</h1></header>
<nav></nav>
<main>
<!-- Intro -->
<img src="pix/jitsi.svg" alt="Jitsi" class=titleimg>
<p>
<i>
Jitsi is a set of open-source projects that allows you to easily build and deploy secure video
conferencing solutions.
</i>
<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 alternative to Zoom or other video conferencing software.
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>
<p>
In this tutorial I'm assuming you're running Devian 9 or newer on your server, although Jitsi is also
supported out-of-the-box for Ubuntu, but that need some extra steps you can see
<a href="https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart" target="blank">here</a
>.
</p>
<h2>How to get</h2>
<h2>Dependencies and Installation</h2>
<p>First of all, you'll need to make sure you have <code>apt-transport-https</code> installed, so run</p>
<p>First, install some dependencies:</p>
<pre><code>apt update<br>apt install apt-transport-https</code></pre>
<pre><code>apt install gpg apt-transport-https nginx python-certbot-nginx</code></pre>
<p>Jitsi has its own package repository, so let's add it.</p>
<pre><code>curl https://download.jitsi.org/jitsi-key.gpg.key | sh -c 'gpg --dearmor &#62; /usr/share/keyrings/jitsi-keyring.gpg'<br><br>echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | tee /etc/apt/sources.list.d/jitsi-stable.list &#62; /dev/null</code></pre>
<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 the firewall <code>ufw</code>, in case you
have it enabled, and the SSL certificate.
</p>
<h2></h2>
<h2>Enable Required Ports</h2>
<h2>Setup and configure your firewall</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>
<p>The following ports need to be open in your firewall, to allow traffic to the Jitsi Meet server:</p>
<ul>
<li>443 TCP - for general access to Jitsi Meet.</li>
<li>10000 UDP - for general network video/audio communications.</li>
<li>3478 UDP - for quering the stun server (coturn, optional, needs config.js change to enable it).</li>
<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 - for fallback network video/audio communications over TCP (when UDP is blocked for example),
served by coturn.
5349 TCP &ndash; Fallback network video/audio communications over TCP (when UDP is blocked for example), served by coturn.
</li>
</ul>
<pre><code>ufw allow 443/tcp<br>ufw allow 10000/udp<br>ufw allow 3478/udp<br>ufw allow 5349/tcp<br>ufw enable</code></pre>
<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 the certificate.
</p>
<p>
Add the subdomain to your Nginx configuration file, wich for me is
<code>/etc/nginx/sites-available/mywebsite</code>. Open it and add the following at the end:
<a href="./nginx.html" target="blank">Nginx</a> to generate a certificate
for the Jitsi subdomain to allow encrypted connections.
</p>
<pre><code>server {
server_name <strong>meet.example.com</strong> ;
location / {
try_files $uri $uri/ =404 ;
}
}</code></pre>
<pre><code>certbot --nginx certonly -d <strong>meet.example.org</strong></code></pre>
<p>
Substitute <code>meet.example.com</code> accordingly, where <code>meet</code> can be any subdomain you
want.
We will not create an Nginx config file for Jitsi because the Jitsi package we will be installing will do that automatically.
</p>
<p>Run <code>certbot</code> and reload nginx.</p>
<h2>Installation</h2>
<p>To begin the installation process, just run</p>
<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>meet.example.com</code>.
<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.com</strong>/privkey.pem</code> and
<code>/etc/letsencrypt/live/<strong>meet.example.com</strong>/cert.pem</code> respectively.
<code>/etc/letsencrypt/live/<strong>meet.example.org</strong>/privkey.pem</code> and
<code>/etc/letsencrypt/live/<strong>meet.example.org</strong>/cert.pem</code> respectively.
</p>
<h3>Confirm that your installation is working</h3>
<h2>Using Jitsi</h2>
<p>Just open a web browser and go to <code>meet.example.com</code>.</p>
<img src="pix/jitsi-01.webp" alt="Jitsi once installed">
<h3>Enjoy Jitsi!</h3>
<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 Jitsti 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.
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>
<hr />
<p>
<em
>Written by <a href="https://josefabio.com" target="blank">Jose Fabio.</a><br />Donate Monero
<code class="crypto"
>484RLdsXQCDGSthNatGApRPTyqcCbM3PkM97axXezEuPZppimXmwWegiF3Et4BHBgjWR7sVXuEUoAeVNpBiVznhoDLqLV7j</code
>
<a href="https://josefabio.com/figures/monero.jpg" class="crypto" target="blank">[QR]</a></em
>
</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>
<footer>
<a href="https://landchad.net">LandChad.net</a><br />Because Everyone should be an Internet LandChad.<br /><a
href="index.html"
><li><img src="pix/chad.gif" alt="chad" /></li></a
><a href="rss.xml"
><li><img src="pix/rss.svg" alt="RSS" /></li></a
><a href="pix/btc.png"
><li><img src="pix/btc.svg" alt="BTC" /></li></a
><a href="pix/xmr.png"
><li><img src="pix/xmr.svg" alt="XMR" /></li></a
><a href="https://github.com/lukesmithxyz/landchad"
><li><img src="pix/git.svg" alt="Github" /></li
></a>
</footer>
<footer><a href="https://landchad.net">LandChad.net</a></br>Because Everyone should be an Internet LandChad.</br><a href="index.html"><li><img src="pix/chad.gif" alt="chad"></li></a><a href="rss.xml"><li><img src="pix/rss.svg" alt="RSS"></li></a><a href="pix/btc.png"><li><img src="pix/btc.svg" alt="BTC"></li></a><a href="pix/xmr.png"><li><img src="pix/xmr.svg" alt="XMR"></li></a><a href="https://github.com/lukesmithxyz/landchad"><li><img src="pix/git.svg" alt="Github"></li></a></footer>
</body>
</html>

BIN
pix/jitsi-01.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

650
pix/jitsi.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 35 KiB

98
rss.xml
View File

@ -15,6 +15,104 @@
<!-- LB -->
<item>
<title>Jitsi Video Chat</title>
<guid>https://landchad.net/jitsi.html</guid>
<link>https://landchad.net/jitsi.html</link>
<pubDate>Tue, 03 Aug 2021 13:00:23 -0400</pubDate>
<description><![CDATA[
<header><h1>Jitsi Video Chat</h1></header>
<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 python-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 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>/cert.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 Jitsti 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>
]]></description>
</item>
<item>
<title>PeerTube Instance</title>
<guid>https://landchad.net/peertube.html</guid>