Self-Hosting Jitsi Meet Setup
How to set up Jitsi Meet on Ubuntu 24.04.
Jitsi Meet is an open source web application for video conferencing with audio, video, and screen sharing. As free, open source software, it can be self-hosted; installed on own servers and systems.
Screen Sharing Alternatives
I’ve looked for screen sharing solutions in the past.
In general, Discord is very popular within the internet, but has shit video quality in the free tier. Other solutions like Microsoft Teams, Zoom, or whatever, also have limited functionality, quality or fps, meeting time, or varying concerns of hoster and publisher.
I’ve used a simple hosted stream share before, where I streamed through OBS to my own relay and hosted a webpage that embedded the video stream, which was okay, but barely feasible with a flimsy setup and manual start and connect setup.
Hosting a stable, established product seems preferable if it’s a good free product. Jitsi Meet is a popular option.
Hosting Jitsi Meet Setup
There’s an official “quickstart” guide, but it’s hardly quick or concise, and makes assumptions on you wanting to set up more than I wanted to. So here’s my concise notes.
Adding the Package Source
Apparently, apt has a “new” way to manage trusted publisher keys. See man apt-key
deprecations section for details.
/etc/apt/keyrings
is provided as the recommended location for keys not managed by packages
Make sure to use the “asc” extension for ASCII armored keys and the “gpg” extension for the binary OpenPGP format (also known as “GPG key public ring”).
The deprecated way with apt-key add
:
wget https://download.jitsi.org/jitsi-key.gpg.key
apt-key add jitsi-key.gpg.key
add-apt-repository "deb https://download.jitsi.org stable/"
The recommended way with signed-by
:
wget https://download.jitsi.org/jitsi-key.gpg.key
mv jitsi-key.gpg.key /etc/apt/keyrings/jitsi-key.gpg.asc
add-apt-repository "deb [signed-by=/etc/apt/keyrings/jitsi-keyring.gpg.asc] https://download.jitsi.org stable/"
If aptitude is installed, a search now yields available packages:
aptitude search jitsi
Installing Jitsi Meet
Now that the source is set up, Jitsi Meet with all its dependencies can be installed through apt:
apt-get install jitsi-meet
It asks for a hostname, where I specified a subdomain of my main domain kcode.de
, wich has a DNS entry for all unspecified subdomains resolving to my main server.
The installer then also offered to set up a let’s encrypt certificate, which to my surprise worked. The installer already set up an Nginx subdomain configuration automatically. So after the setup, the self-hosted Jitsi Meet website was already accessible at this point.
The installer also offered Jitsi as a Service integration for, if I understood it correctly, phone integration. Which I declined. It was unclear to me whether it would be local, which I doubt, or a remote third-party service.
When opening the website and trying to create and join a room/meeting, it did not work, with no error message being displayed. (Only a disappearing balloon popover showed up, which meant it was not readable at all.)
I had to restart or reload for joining a meeting to work. I suspect some host or cert setup was not loaded correctly before adjustments - potentially after the letsencrypt cert setup. But now it works.
systemctl restart prosody jicofo jitsi-videobridge2
systemctl reload nginx
Restricting Access
By default, anyone can create and use meetings anonymously. This can be restricted through accounts and the like.
For example, the official official instance meet.jit.si requires the first joiner to be the creator and moderator of the room, with authentication from a trusted source. Which is very simple to use if you have an account one one of the trusted parties, like GitHub. And it secures the platform against platant or untraceable misuse.
Unfortunately, the whole combination of different products, names, services, actual and internal pseudo domains in configurations is not very obvious and approachable.