Lambda IT - Blog

Own a Meeting Server with minimal effort

Due to the high demand of virtual meetings for a lot of different reasons (people working at home, schools trying to plan the schedule, teachers teaching remotely or parents trying to coordinate groups) the main platforms like Microsoft Teams, Skype, etc. are being used a lot. Those platforms are mostly hosted far away and increase the traffic between the countries. But what if a meeting server could easily be created and hosted in the same country where it is going to be used? Or even better just in the intranet? This is possible by using an open source meeting server. In this Tutorial I will be presenting the Jitsi Server, a easy to use meeting server.

Publiziert am 23. März 2020 von Philipp Schärer

Introduction and what you get

Jitsi is an open source multi-platform open-source video conferencing tool, it is fully encrypted and allows video chat and screensharing (among other features), it also has low requirements.
Features:

  • It can be used without any account.
  • The conversations are private because of the encryption.
  • Has an easy invitation process by sharing an URL.
  • Screensharing is included out of the box and does not require a tool.

One drawback is that in order to use Jitsi on mobile devices, it is required to download the corresponding App and configure it with the own server settings.

How to install – Ubuntu 18.04

Prerequisites

The installation process is fast. The minimal requirements to host a Jitsi instance are the following:

  • 2GHz CPU
  • 1 GB Memory
  • 25 GB Disk
  • 10 GbE Network

Add the repository:

echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
wget -qO -  https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -

Setup

Before running the setup the following information should already be available:

  • The hostname of the server instance.
  • How should the SSL Certificates be handled, own certificates or via Letsencrypt

Update package cache and install:

apt-get update

(If you get an error: E: The method driver /usr/lib/apt/methods/https could not be found. run:

apt-get install apt-transport-https

Install the jitsi-meet server:

apt-get -y install jitsi-meet

While installing you get asked if you want to use temporary self-signed certificates or your own ones. I recommend to use the latter option of own ones because later you can very easily add some certificates via letsencrypt or reference your own ones.

After the installation a line which mentions the possibility to generate certificates shows up, this comamnd can be used to enable letsencrypt:

/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

After that, a nginx config with the correct hostname settings should have been added and the nginx service be resetarted.

Check new server

When the setup has finished open the browser with the specified hostname and the following page should be displayed:

Welcome Page

Configuring GUI and Server

Customize the GUI
The GUI can be tweaked with some Options, the file which needs to be modified for this can be found
at:

/usr/share/jitsi-meet/interface_config.js

Some of the interesting options are:

  • JITSI_WATERMARK_LINK: This controls which URL should be opened when the user clicks on the watermark on the top left.
  • APP_NAME and PROVIDER_NAME: Controls the name of the project and provider name.

A lot more options are available in this interface_config.js file. Feel free to try out the different configurations.

It is also possible to exchange the logo with a custom logo. For this, the new logo should also be a PNG and not differ too much from the size of the original one.
The new logo should then replace the logo found at /usr/share/jitsi-meet/images/watermark.png.

The SPA can also be enhanced fairly easy. As seen at index.html in /usr/share/jitsi-meet/ there are some include directives, each of those files can be edited to change the appearence and behaviour of the App.
To only change the appearence of the Welcome Page, a special include directive is being used. The Welcome Page can be changed via this file: static/welcomePageAdditionalContent.html and the changes need to remain in the template tag.

If additional CSS is required, it is possible to just add a <style> tag in the head.html file or a <link> to a custom file which can be added to the /css folder.

Server Configuration

There are also some server configurations which can be tweaked. The file to modify is located at:
/etc/jitsi/meet/{specified hostname}-config

For example the following options are useful:

  • startAudioOnly: If set to true the new attendees will have no active camera, this can be useful
    if for example a school with a lot of students is hosting a room and the bandwith shouldn't suddenly be on the limit.
  • resolution: The starting video resolution.
  • defaultLanguage: Controls the default language. Visitors which already visited the page will continue with the previous default value because this setting is stored in the local storage after the first visit but can be changed in the GUI via Settings -> More.

More advanced configurations are required if a recording server has been added.

Additional information

The quick-start above is meant to be a short and fast introduction on how to own and host a meeting server. There's also a relatively short installation video made by Jitsi contributors themselfes: https://jitsi.org/news/new-tutorial-installing-jitsi-meet-on-your-own-linux-server/

Please refer to the following manual for a more sophisticated and feature complete setup and configuration:

Recording feature

There's also a recording feature which can be used by hosting another server which has a running Jibri instance. The following requirements and restrictions are to be considered:

  • This server needs more CPU and RAM compared to the jitsi-meet server. 4 GB RAM and 2 x 2.2 GHz CPU
  • X11 and Chrome must be runnable on the server.
  • One Jibri server is able to record only one meeting at a time. This means if multiple meetings should be recordable, multiple Jibri server instances are required.

A video tutorial for the installation and configuration can be found at:
https://www.youtube.com/watch?v=OHHoqKCjJ0E

And a written tutorial at:
https://github.com/jitsi/jibri

Own a Meeting Server with minimal effort

Author

Philipp Schärer

Philipp Schärer

Software Entwickler

Verbringt seine Freizeit mit Ping Pong.

philipp.schaerer@lambda-it.ch

+41 31 550 18 25

Aktuelles