Hi, folks. In this very short tutorial, I will show you how to deploy a Jitsi Meet server using Docker. This indicates that it will work for any system that has a Docker.
We’ve already talked about Jitsi Meet and told you that it’s a very interesting tool for making video calls. It’s shaping up as an open-source option to services like Google Hangouts or the very fashionable Zoom.
Jitsi Meet has features that make it almost a premium application as support for HD Audio, full encryption of communication, and more. However, one of the main advantages of Jitsi is that we can install it on our server and use it privately as in an organization.
As you will see the process is so simple that it is scary but of course thanks to Docker it is quite customizable and you can adapt it to your needs. As always, we recommend that you do so.
So, let’s get to work.
Deploy Jitsi Meet with Docker
Install Docker on Linux
The first step is to install Docker and for that, we present you some tutorials in different Linux distributions.
- If you are using Ubuntu: How to install Docker on Ubuntu 18.04?
- For CentOS 8: How to install Docker on CentOS 8?
- For CentOS 7: How to install Docker CE on CentOS 7?
- If you use Windows: How to install Docker in Windows 10?
- Or, if you are using Debian 10: How to install Docker on Debian 10?
And using your distribution’s package manager, you can install Docker Compose. For example:
:~$ sudo apt update :~$ sudo apt install docker-compose
For Debian, Ubuntu, and derivatives.
:~$ sudo dnf install docker-compose
Or, for RHEL, CentOS and derivatives.
Once Docker and Docker compose are installed now is the Gits turn.
Install Git on Linux
To download the Docker Compose file offered by Jitsi, we need Git. We also have several tutorials about it and you can read them according to your Linux distribution.
Install Git on Debian 10
How to install Git on CentOS 8
Install Git on Windows?
Install Git on Ubuntu 18.04?
Now we can get started.
Jitsi Meet server with Docker
Now yes. Using Git we cloned Jitsi’s repository for Docker. These files already have a standard configuration for use by Docker Compose.
To do this, run the following command:
:~$ sudo git clone https://github.com/jitsi/docker-jitsi-meet.git /srv/jitsi Cloning into '/srv/jitsi'… remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Compressing objects: 100% (3/3), done. remote: Total 1867 (delta 0), reused 0 (delta 0), pack-reused 1864 Receiving objects: 100% (1867/1867), 751.65 KiB | 441.00 KiB/s, done. Resolving deltas: 100% (904/904), done.
As you can see in the command, we are indicating that the clone will be saved in /srv/jitsi
Now we copy the env.example
file that is inside that folder and transform it into the configuration file.
:~$ sudo cp /srv/jitsi/env.example /srv/jitsi/.env
And now we proceed to edit it:
:~$ sudo nano /srv/jitsi/.env
This file is quite large so to find the parameters we have to modify it is recommended to use the key combination CTRL + W and write the search parameter.
Essentially we have to modify the following parameters:
HTTP_PORT=80
HTTPS_PORT=443
TZ=your-timezione
PUBLIC_URL="https://your-server-IP"
DOCKER_HOST_ADDRESS=your-server-IP
ENABLE_HTTP_REDIRECT=1
So,, if you are going to use Let’s Encrypt to secure the server, which should be obvious, then you have to modify these parameters as well:
ENABLE_LETSENCRYPT=1
LETSENCRYPT_DOMAIN=domain
LETSENCRYPT_EMAIL=email@domain
And change:
PUBLIC_URL="https://your-server-IP"
By:
PUBLIC_URL="https://your-domain"
Finally, save the changes and close the file.
Access the folder where we have cloned all the files and start the installation:
:~$ cd /srv/jitsi/ :~$ sudo docker-compose up -d
Now open your web browser and go to https://your-domain
or https://server-ip
This indicates that Jitsi Meet is ready to start work.
In my experience, it takes a server with good bandwidth and resources.
So, enjoy it. Do you see how easy it is to do?
Conclusion
Docker makes our lives much easier when it comes to deploying programs. In this case, we have shown you that doing it with Jitsi is quite simple and customizable.
Please share this post, join our Telegram channel and if you can buy us a coffee 🙂
great tutorial, how to deploy recorder using docker?
sudo apt docker-compose ? sudo apt install docker-compose
Thanks!
Hi indeed great tutorial and great website btw with great tips. I wouldn’t be able to get it going. I’m still kind of a newbie in this.
However i’m running in some issues. When running the docker I receive the a port 443 connection error.
I found on different fora that is has to do with the apache server that connects to that port. So, I turned that temporarily off and ran it again, what worked.
However, now suddenly, the jitsi server appeared on all my main domains which share the same ip address andnot only on the intended subdomain. I’m not sure how to overcome this.
see the error that i got initially:
root@server001 jitsi]# sudo docker-compose up -d
jitsi_prosody_1 is up-to-date
Recreating jitsi_web_1 …
jitsi_jvb_1 is up-to-date
Recreating jitsi_web_1 … error
ERROR: for jitsi_web_1 Cannot start service web: driver failed programming external connectivity on endpoint jitsi_web_1 (6b2ba9445a6d98196……): Bind for 0.0.0.0:4443 failed: port is already allocated
ERROR: for web Cannot start service web: driver failed programming external connectivity on endpoint jitsi_web_1 (525018a6d9819679c4c61….):Bind for 0.0.0.0:4443 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.
[root@server001 jitsi]#