Setting up Jitsi Meet

In my last post I went on about watching anime and installing Mattermost on a VPS to play DnD with my friends on, but I had a realization: it’s going to take a lot to coordinate my group of friends long enough to get them all to sign up for an account on my own server for text chat. Spamming the invite link on our Reddit chat for sharing memes isn’t going to work, and logging back into Facebook after all these months is not effort I’m willing to expend.

So what’s the alternative?

Video chat!

Is everyone on the same platform?

Of course not.

In this case the problem is me. I’ll admit that. I don’t trust Facebook, Zoom, or Apple, so I’m not using any of their services for video calling. As the human incarnation of the GNU HURD kernel has probably said would probably say “Give me libre software or give me death”. He’s said some other stuff too, but that’s really not the point.

I don’t really trust Google either, but I already have to use Google for my phone, so I may as well use their services while I’m there. Services like Duo, and Hangouts, and the captcha on this blog because I’m tired of getting constant spam. One day though, after I get a Librem5 or something and don’t have to rely on Google for anything, I’ll finish moving all of my cloud storage and calendars to self-hosted stuff or ProtonMail like I did my email. But apparently we’re still living in 2007 and everyone has a Yahoo email and an iPhone, so no one else has a Google account. I don’t even use Gmail for my personal email and I still have a Google account.

I have recently been hearing how easy Jitsi Meet makes secure video calling. It’s open source, it’s encrypted, you don’t need to sign up, and I can set it up myself. So I went ahead and did that. And wow, was it easy.

I repurposed the server I had set up Mattermost on, as I already had an A Record pointing to it and it was already running Ubuntu; thank you DigitalOcean for the option to rebuild the server from an image. After it was rebuilt as new, I went through the boilerplate of creating a user and hardening the server I outlined in my Tor Hidden Service post, just with the instructions tailored for Ubuntu instead of CentOS. Then it was just a matter of following the instructions in the Jitsi Meet quick install guide. I’ve honestly spent more time writing this blog post than I did configuring Jitsi Meet. Here are all the commands I ran to get it installed and configured:

sudo apt-add-repository universe && \
echo 'deb stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list && \
wget -qO - | sudo apt-key add - && \
sudo ufw allow http && \
sudo ufw allow https && \
sudo ufw allow 10000 && \
sudo apt-get install apt-transport-https && \
sudo apt-get install nginx && \
sudo systemctl enable nginx && \
sudo apt-get update && \
sudo apt-get -y install jitsi-meet && \
sudo /usr/share/jitsi-meet/scripts/ && \
sudo systemctl enable jitsi-videobridge2.service && \
sudo systemctl restart jitsi-videobridge2.service && \
sudo systemctl restart nginx 

That is amazing to me. Jitsi Meet not only automatically configures Nginx (or Apache) with a virtual host for itself, but installs and sets up automatic renewal for an SSL cert from Let’s Encrypt as well. The server does need a fully qualified domain name for everything though, and that domain name has to be specified in /etc/hosts. With all this in mind, running it on a shared hosting server is likely not an option, and you’ll need a dedicated server for it. If someone can prove me wrong, please do.

I’ll be playing around with the software over the next few days and testing out all of the features it has, and see if I need to resize my server to run it comfortably. It seems like pretty standard video chat software with text chat, screen sharing, and password protected rooms as well. I still really like how an account isn’t necessary, only a web browser or a mobile app; having my friends join by clicking a link really sold me on Jitsi Meet. That and the security.

1 thought on “Setting up Jitsi Meet”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.