[DOCKER] Introducing JITSI MEET to CentOS 8

Introduction

ZOOM has become heavy recently / I can't log in, I've been worried about it instead of ZOOM because it often becomes unusable. I tried JITSI MEET.

What is JITSI MEET?

"JITSI Meet" is an open source video conferencing system.

・ No software installation or account registration required ・ Available for free ・ Basic functions such as chat and screen sharing are available. ・ There is no usage time limit

As far as I can touch it, it is almost the same as the function of ZOOM.

Installation

This time I would like to start JITSI MEET in a container.

I will install Docker, but it is troublesome to install it with commands, so Install using the script on the official Docker website.

# curl -fsSL https://get.docker.com -o get-docker.sh
# sh get-docker.sh 
# systemctl start docker
# systemctl enable docker

Next, I want to use compose to define multiple containers and manage execution, so I will install compose.

# dnf install wget
# wget https://github.com/docker/compose/releases/download/1.25.5/docker-compose-Linux-x86_64
# mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose 
# docker-compose --version

Install the git command and copy JITSI-MEET locally.

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

Edit the .env file.

# cd docker-jitsi-meet/
# vi .env

CONFIG=~/.jitsi-meet-cfg
HTTP_PORT=80 ##Specify a general port of 80
HTTPS_PORT=443 ##Specify a general port of 443
TZ=Asia/Tokyo ##Change time zone to Japan
PUBLIC_URL=https://xxx.xxxx.xxx ##Please enter the domain name.
ENABLE_LETSENCRYPT=1 ##Let's make SSL this time'Since s Encrypt certificate generation is used, "1"(Effectiveness)"will do.
LETSENCRYPT_DOMAIN= xxx.xxxx.xxx ##Please enter the domain name.
[email protected] ##Let's Enter the email address where you want to receive the Encrypt expiration date notification.

Rewrite the default internal system password contained in .env. The password before the change remains in .env.bak, so if you are worried, please delete the folder.

# ./gen-passwords.sh 
# mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb}

Launch JITSI MEET

Get and check Docker images

# docker-compose pull

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
jitsi/jvb           latest              59a78cd41b76        3 weeks ago         287MB
jitsi/jicofo        latest              095240301084        3 weeks ago         284MB
jitsi/prosody       latest              ea92085e4bcf        3 weeks ago         108MB
jitsi/web           latest              4d1876107fae        3 weeks ago         487MB

Start JITSI MEET.

# docker-compose up -d
Creating network "docker-jitsi-meet_meet.jitsi" with the default driver
Creating docker-jitsi-meet_web_1     ... done
Creating docker-jitsi-meet_prosody_1 ... done
Creating docker-jitsi-meet_jicofo_1  ... done
Creating docker-jitsi-meet_jvb_1     ... done

Confirm that JITSI MEET has started. You can check it with docker ps, but since docker-compose is included, Use this command to check.

# docker-compose ps
           Name               Command   State                        Ports                      
------------------------------------------------------------------------------------------------
docker-jitsi-meet_jicofo_1    /init     Up                                                      
docker-jitsi-meet_jvb_1       /init     Up      0.0.0.0:10000->10000/udp, 0.0.0.0:4443->4443/tcp
docker-jitsi-meet_prosody_1   /init     Up      5222/tcp, 5280/tcp, 5347/tcp                    
docker-jitsi-meet_web_1       /init     Up      0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp   

Check the log to see if there are any problems.

# docker-compose logs -f web

web_1      | [cont-init.d] 01-set-timezone: executing... 
web_1      | [cont-init.d] 01-set-timezone: exited 0.
web_1      | [cont-init.d] 10-config: executing... 
web_1      | [cont-init.d] 10-config: exited 0.
web_1      | [cont-init.d] done.
web_1      | [services.d] starting services
web_1      | [services.d] done.

Please access with https with the last acquired domain and confirm that JITSI MEET is displayed and the meeting can be started.

Finally

As for the stumbling block, the FW settings were too appropriate and I couldn't connect well at first. Please consider limiting the IP as necessary or opening only the necessary ports. Please note that Letsencrypt does not disclose the IP address of the connection source.

Also, this time I made it with CPU: 2 cores / MEM: 8GB, but when sharing the screen, the shared screen is heavy, so I would like to work to improve that, and I think I have been exploring whether it can be linked with other apps. It's easy, but it was an introduction to JITSI-MEET.

Recommended Posts

Introducing JITSI MEET to CentOS 8
Introducing AWS CLI to CentOS 7
Introducing Pacemaker from CentOS 7 repository to RHEL7
Introducing CircleCI to Rails
Introducing Bootstrap to Rails 5
Introducing Bootstrap to Rails !!
Nice to meet you.
Introducing past nvidia-driver to Ubuntu
Connect CentOS 7 to L2TP VPN
A memo to build Jitsi Meet on Azure with docker-compose
Introducing Let's Encrypt on CentOS 7
How to deploy Laravel on CentOS 7
Introducing full calendar to Rails application
Upgrade from MYSQL5.7 to 8.0 on CentOS 6.7
How to install MariaDB 10.4 on CentOS 8
Introducing Java tips GreenMail to Junit5
Steps to install MySQL 8 on CentOS 8
My note: Introducing Java to Ubuntu
Steps to install devtoolset-6 on CentOS 7
Introducing React to Rails with react-rails