How to Setup Jitsi Meet Docker Container Image Tutorial (Step by Step)

How to Setup Jitsi Meet Docker Container Image. In this article we will explain what Jitsi Meet is for video conferencing solutions and what Docker Container image does. We will then Install Jitsi Meet Docker  ContainerImage on Ubuntu 20.04. Let’s start!

What is Jitsi Meet

Jitsi Meet is a free, open source and private centric video conferencing solution allows you to conduct group or one to one video chats with anyone. It is fully encrypted and based on JavaScript WebRTC that provides high quality video conferencing and instant messaging services with end to end encryption. It is a self hosted and very similar to other commercial application like Google Meet or Zoom.

Jitsi Features

What is Docker Container Image

A Docker image is a template or a set of instructions to build a Docker container to execute code in a container. A Docker is used to create, run and deploy applications in containers. Docker Image is a record of a Docker container at a specific point in time. Docker images are  immutable (can’t be changed, duplicated or deleted). Docker Containers are dependent on Docker images as they are used to construct runtime environments to run an application.

 

Docker images get stored in private or public repositories. 

Docker benefits

  • Aids developers to write code locally and share their work using Docker containers.
  • Docker is applied to push their applications into a test environment and execute automated and manual tests.
  • Helps to fix bugs or issues so they can be fixed in the development environment.
  • Portability your application can be deployed on any system where Docker is running.
  • Agility  where docker helps you to make your development process more agile and responsive. Enhancing your continuous integration and continuous delivery processes.

Follow this post to learn how to set up Jitsi Meet docker container image on Ubuntu 20.04.

Setup Jitsi Meet Docker Container Image

Add Docker Repository

By default, the latest version of Docker is not included in the Ubuntu default repository. So you will need to add the Docker CE official repository to the APT. First, install all the required dependencies using the following command:

				
					apt-get install git apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
				
			

Once all the dependencies are installed, import the Docker GPG key with the following command:

				
					curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
				
			

Next, add the Docker CE repository to the APT with the following command:

				
					add-apt-repository  "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
				
			

Please update the repository cache using the following command:

				
					apt-get update -y
				
			

Once the Ubuntu repository is updated, you can proceed to install Docker CE on your system.

Install Docker CE

You can now install the Docker CE by running the following command:

				
					apt-get install docker-ce -y
				
			

Once the Docker CE is installed, start the Docker service with the following command:

				
					systemctl start docker
				
			

You can verify the status of the Docker CE using the following command:

				
					systemctl status docker
				
			

You will get the following output:

				
					● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-05-11 14:58:54 UTC; 59s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 4310 (dockerd)
      Tasks: 8
     Memory: 35.0M
        CPU: 591ms
     CGroup: /system.slice/docker.service
             └─4310 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

May 11 14:58:53 debian11 dockerd[4310]: time="2022-05-11T14:58:53.130577231Z" level=info msg="scheme \"unix\" not registered, fallback to def>
May 11 14:58:53 debian11 dockerd[4310]: time="2022-05-11T14:58:53.130643324Z" level=info msg="ccResolverWrapper: sending update to cc: {[{uni>
May 11 14:58:53 debian11 dockerd[4310]: time="2022-05-11T14:58:53.130679866Z" level=info msg="ClientConn switching balancer to \"pick_first\">
May 11 14:58:53 debian11 dockerd[4310]: time="2022-05-11T14:58:53.289737295Z" level=info msg="Loading containers: start."
May 11 14:58:53 debian11 dockerd[4310]: time="2022-05-11T14:58:53.768316041Z" level=info msg="Default bridge (docker0) is assigned with an IP>
May 11 14:58:53 debian11 dockerd[4310]: time="2022-05-11T14:58:53.982174628Z" level=info msg="Loading containers: done."
May 11 14:58:54 debian11 dockerd[4310]: time="2022-05-11T14:58:54.034840356Z" level=info msg="Docker daemon" commit=4433bf6 graphdriver(s)=ov>
May 11 14:58:54 debian11 dockerd[4310]: time="2022-05-11T14:58:54.035487755Z" level=info msg="Daemon has completed initialization"
May 11 14:58:54 debian11 systemd[1]: Started Docker Application Container Engine.
May 11 14:58:54 debian11 dockerd[4310]: time="2022-05-11T14:58:54.097373599Z" level=info msg="API listen on /run/docker.sock"
				
			

To get the Docker CE version information, run the following command:

				
					docker version
				
			

You will get the following output:

				
					Client: Docker Engine - Community
 Version:           20.10.15
 API version:       1.41
 Go version:        go1.17.9
 Git commit:        fd82621
 Built:             Thu May  5 13:19:21 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.15
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.9
  Git commit:       4433bf6
  Built:            Thu May  5 13:17:26 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.4
  GitCommit:        212e8b6fa2f44b9c21b2798135fc6fb7c53efc16
 runc:
  Version:          1.1.1
  GitCommit:        v1.1.1-0-g52de29d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

				
			

Install Docker Compose

By default, the latest version of Docker Compose is not included in the Ubuntu default repository. So it is a good idea to download it from the GitHub repository.

You can download the latest version of Docker Compose binary using the following command:

				
					curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url  | grep docker-compose-linux-x86_64 | cut -d '"' -f 4 | wget -qi -
				
			

Once the download is completed, set the executable permission on the downloaded binary with the following command:

				
					chmod +x docker-compose-linux-x86_64
				
			

Please move the Docker Compose binary to the system path:

				
					mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
				
			

Now, verify the Docker Compose version using the following command:

				
					docker-compose version
				
			

You will get the Docker Compose version in the following output:

				
					Docker Compose version v2.5.0
				
			

Download Jitsi Meet

Next, you will need to download the Jitsi Meet for Docker on your system. First, install the Git package using the following command:

				
					apt-get install git -y
				
			

Next, you can download the Jitsi Meet with the following command:

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

Once the download is completed, navigate to the downloaded directory and copy the sample environment file:

				
					cd docker-jitsi-meet
cp env.example .env
				
			

Next, edit the .env file and configure the Jitsi Meet:

				
					nano .env
				
			

Change the following lines as per your requirement:

				
					HTTP_PORT=80
HTTPS_PORT=443
TZ=UTC
ENABLE_XMPP_WEBSOCKET=0

PUBLIC_URL="https://jitsi.linuxbuz.com"
DOCKER_HOST_ADDRESS=your-server-ip
ENABLE_HTTP_REDIRECT=1
ENABLE_LETSENCRYPT=1
LETSENCRYPT_DOMAIN=jitsi.linuxbuz.com
LETSENCRYPT_EMAIL=hitjethva@gmail.com
				
			

Save and close the file when you are done.

Start the Jitsi Meet Docker Container

At this point, Jitsi Meet is downloaded and configured. Now, start the Jitsi Meet docker container using the following command:

				
					docker-compose up -d
				
			

This will download all required images from the Docker Hub and launch the container as shown below:

				
					[+] Running 21/21
 ⠿ jvb Pulled                                                                                                                           24.6s
   ⠿ 52dcb02cd3b8 Pull complete                                                                                                         23.7s
   ⠿ 3c3631fd2ecf Pull complete                                                                                                         23.8s
 ⠿ web Pulled                                                                                                                           21.0s
   ⠿ 1fe172e4850f Pull complete                                                                                                          6.7s
   ⠿ 3c4bc6c19d37 Pull complete                                                                                                          6.9s
   ⠿ 7f8f6012b235 Pull complete                                                                                                          8.2s
   ⠿ e963c2e18778 Pull complete                                                                                                          8.5s
   ⠿ 6400a90f4fd2 Pull complete                                                                                                         20.2s
 ⠿ prosody Pulled                                                                                                                       15.3s
   ⠿ 9bb9343ca58a Pull complete                                                                                                         12.9s
   ⠿ 1992cd7eb391 Pull complete                                                                                                         13.1s
   ⠿ 14711fa36c95 Pull complete                                                                                                         13.3s
   ⠿ 811df026aeaf Pull complete                                                                                                         14.5s
 ⠿ jicofo Pulled                                                                                                                        24.1s
   ⠿ 85264e7473ed Pull complete                                                                                                          7.0s
   ⠿ 4942c131e59f Pull complete                                                                                                          7.8s
   ⠿ dc3d0b03d46a Pull complete                                                                                                          7.9s
   ⠿ bcefeaf8e524 Pull complete                                                                                                         20.8s
   ⠿ be196e7633ae Pull complete                                                                                                         23.1s
   ⠿ 9f91499c074c Pull complete                                                                                                         23.3s
[+] Running 5/5
 ⠿ Network docker-jitsi-meet_meet.jitsi   Created                                                                                        0.1s
 ⠿ Container docker-jitsi-meet-prosody-1  Started                                                                                        2.4s
 ⠿ Container docker-jitsi-meet-web-1      Started                                                                                        2.6s
 ⠿ Container docker-jitsi-meet-jicofo-1   Started                                                                                        3.2s
 ⠿ Container docker-jitsi-meet-jvb-1      Started                                                                                        3.4s
				
			

You can list all Docker images using the following command:

				
					docker images
				
			

You will get a list of all downloaded Docker images in the following output:

				
					REPOSITORY      TAG       IMAGE ID       CREATED        SIZE
jitsi/jvb       latest    5e56e7beb21e   26 hours ago   412MB
jitsi/jicofo    latest    7000bdaa02f7   26 hours ago   369MB
jitsi/prosody   latest    08fadd6fd69e   26 hours ago   155MB
jitsi/web       latest    48ceb34651ff   26 hours ago   263MB
				
			

If you are experiencing any issue with the Docker container, then you can check the specific container log using the following command:

				
					docker logs container-name
				
			

Access Jitsi Meet Dashboard

At this point, the Jitsi Meet software is set up with the Docker container. You can now open your web browser and access the Jitsi Meet using the URL https://jitsi.linuxbuz.com. You should see the Jitsi Meet room creation page:

Provide your room name and click on the Start meeting button. You should get the Jitsi Meet dashboard on the following page:

How to Setup Jitsi Meet Docker Container Image Conclusion

In this post, we explained how to set up the Jitsi Meet with the Docker container image on Ubuntu 20.04. You can now host your own video conferencing solution using Jitsi Meet in your organization.

Avatar for Hitesh Jethva
Hitesh Jethva

I am a fan of open source technology and have more than 10 years of experience working with Linux and Open Source technologies. I am one of the Linux technical writers for Cloud Infrastructure Services.

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x