How to install Jitsi Meet on your QNAP server

Casey Gibson
The Startup
Published in
4 min readMay 5, 2020

Zoom has become an extremely popular alternative to Skype for video conferencing and has even been the go to over Microsoft and Googles offerings.

Like a lot of services, they come at a price. Literally and figuratively. Jitsi Meet is a completely open source video conferencing service that directly competes with Zoom. This has many advantages, with the main one being that it’s completely free if you decide to install it on your server. There’s an even bigger advantage if your server is in your own home or office, because you don’t have to pay any hosting fees which makes it truely free.

Before you decide to use Jitsi Meet, you will need to consider if it’s the right alternative. The main requirements are that you have internet bandwidth that can support multiple streaming sources. For me personally, I have an average download of 95Mbps and an upload of 36Mbps. This will be fine for one or two streams, but will probably struggle with more than a dozen users.

I have two servers that can install Jitsi are a Synology 918+ and a QNAP TVS-672XT. Both support Docker which is the easiest and safest way since if something doesn’t work or I no longer want to use Jitsi, I can just delete the Docker image.

For this we’ll be following the official Jitsi Meet Docker instructions which for the most part is pretty simple.

QNAP software however isn’t your typical Debian or CentOS based install. So while you can use Docker, it takes a bit more setup. You can also use these instructions to roughly install it on a Synology server as the approach is almost identical.

First up, you will need to install two things on your QNAP server. The first is the Container Station application. The second is the Git package (although this is optional). The Container Station software installs Docker and also another container service that allows you to install other container based applications, such as another operating system. For now, we just want the Docker software, so go ahead and install it from the App Centre.

Now search for Container Station and install it:

You will now need to SSH into the QNAP server to be able to download the software from the Github repo. To be able to install via Git, you need to install a third party package manager that is not maintained by QNAP (but is recommended by them). If you go to this Git repo: https://github.com/Entware/Entware-ng/wiki/Install-on-QNAP-NAS you will need to download their package and install it via the App Centre. Alternatively, you can download the Jitsi Meet software as a ZIP file and upload it to your server. If so, then skip to the next section.

To install Entware, locate the Manual Install button and upload the package:

Once you have done that, you can install Git and Git-HTTP (to be able to use Git HTTP instead of SSH):

opkg install git
opkg install git-http

I will recommend changing your directory to /share/Container/ as that is where Container Station will default it’s Docker containers to:

cd /share/Container/

From here, you just need to follow the same install instructions found via the Jitsi Meet repo:

This step you can skip if you decided to download the Git repo and upload the files manually. If you want to download directly with Git, then run the below:

# git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet

Now that we are in the docker-jitsi-meet directory, run the below to config and run the Docker images:

# cp env.example .env# ./gen-passwords.sh# mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}# docker-compose up -d

That’s it. Jitsi Meet should be running and the default access will be located at port 8000 of your servers IP. E.g: 192.168.1.2:8000

You should now be able to control it with the Container Station application:

The default however will only run over HTTP (not HTTPS) so errors such as not being able to access the camera and microphone will show. This is a security measure, so you will need to setup a domain with a SSL certificate and reverse proxy it to port 8000. I won’t go into these details as it’s outside of the scope. Once your connection is running over HTTPS, you will be able to use your camera and microphone.

That’s it. You now have a Zoom alternative running on your own server! Enjoy!

--

--

Casey Gibson
The Startup

I’m a full stack developer in HTML/CSS, JavaScript, PHP, Java, NoSQL, SQL with extensive knowledge in MongoDB, NodeJS, AWS Lambda and DynamoDB.