Skip to content

Instantly share code, notes, and snippets.

@luc-ass
Last active April 14, 2020 11:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save luc-ass/3506f601d25ab80cee14abee222c5f76 to your computer and use it in GitHub Desktop.
Save luc-ass/3506f601d25ab80cee14abee222c5f76 to your computer and use it in GitHub Desktop.
Installation of jitsi-meet on raspberry pi 4

This document describes the installation of jitsi-meet on a raspberry pi 4. I had lots of trouble combining all those steps into one tutorial. Let me know if you run into problems. The following sites helped me creating this tutorial:

Before we start this guide let's make some assumptions:

  • IP: 10.14.70.14
  • Hostname: jitsi-meet
  • FQDN: meet.something.com

As I am running my jitsi instance behind a Synology (read: nginx) reverse proxy I will not cara about certificates. All the information you need about them can be found here: https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md

As for port configuration I redirected port 10000 directly from my router to my Raspberry Pi, port 80 throug my reverse proxy and port 443 (public) to port 4444 on my Raspberry Pi.

1) Install Ubuntu 18.04 server

  1. Donwload the Rapsberry Pi imager from https://www.raspberrypi.org/downloads/
  2. Put in your SD-Card and choose Ubuntu > Ubuntu 18.04 (Pi 3/4, 64-bit server OS)
  3. Write the Image to your SD-Card
  4. After finishing re-insert the SD card and create a file called "ssh" in the boot directory to enable ssh for your first boot.

2) Prepare the operating system

  1. Connect to your Raspberry using ssh, in my case ssh ubuntu@10.14.70.14.
  2. Ubuntu will require you to change your password on first boot. Choose something secure!
  3. First become superuser/root
sudo su -
  1. Change the hostname of your system to something you like using hostnamectl set-hostname jitsi-meet and add your FQDN (optional) nano /etc/hosts.
127.0.0.1 localhost meet.somehting.com

[...]
  1. Reboot your system! reboot

3) Install jitsi-meet

This part closely reselmbles the steps from https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md. It does not contain all the steps as they were not necessary for my setup.

  1. Add the jitsi 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 | sudo apt-key add -
  1. Install jitsi-meet
# Ensure support is available for apt repositories served via HTTPS
apt-get install apt-transport-https

# Retrieve the latest package versions across all repositories
apt-get update

# Perform jitsi-meet installation
apt-get install jitsi-meet
  1. At this point you should be able to access the front page of your instance via a web browser. Video conferences will work with two people but not when three or more people are joingin.

4) Build the custom jnilib-1.0-SNAPSHOT.jar

  1. Just in case you are starting from here: become root
sudo su -
  1. Install openjdk-8-jdk git cmake libtool g++ and configure JAVA_HOME
apt-get install openjdk-8-jdk git cmake libtool g++
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-arm64"
  1. Download the required repositories and copy usrsctp into jitsisctp
git clone https://github.com/sctplab/usrsctp.git
git clone --recurse-submodules https://github.com/mstyura/jitsi-sctp

cd jitsi-sctp

cp -R ../usrsctp usrsctp/usrsctp
  1. Build your custom jnilib and replace the preexisting jar
mvn clean package install -Pbuild-usrsctp -Pbuild-jnisctp -f pom.xml

cp jniwrapper/native/target/jnilib-1.0-SNAPSHOT.jar /usr/share/jitsi-videobridge/lib/jnilib-1.0-SNAPSHOT.jar
  1. Restart the services
service jicofo restart
service jitsi-videobridge2 restart
service prosody restart
service nginx restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment