Deploy Jitsi Meet using Docker

Jitsi and Docker Overview

Jitsi Meet is an open source video conferencing service solution providing fully encrypted and secure high quality and audio without subscription or the need to create an account. The solution can either be installed natively on Ubuntu Bionic Beaver (18.04 LTS) and Debian Buster. Another way to install it, is using a containerized application running on Docker.

This tutorial explains how to install the Jitsi Meet solution on a virtual cloud instance using the Docker Image provided by the Jitsi team, allowing you to deploy your personal Jitsi Meet video conferencing solution in a few easy steps. It is based on a Debian stable base installation and provides all additional modules availabe for Jitsi like Etherpad or jigasi, a gateway allowing SIP connections to the Jitsi Meet instance.

Requirements

  • You have an account and are logged into console.scaleway.com
  • You have configured your SSH Key
  • You have a Scaleway Elements Instance running Ubuntu Bionic Beaver (18.04 LTS)
  • You have installed Docker on the instance
  • For best performances of Jitsi Meet, an instance with at least 4GB RAM is recommended
  • You have a domain or subdomain pointed to your Instance

Setting Up the Solution

1 . Connect to your Scaleway Elements Instance using SSH.

2 . Update the packet cache and upgrade the software already installed on the instance using the apt packet manager:

apt update && apt upgrade -y 

3 . Install Docker, for more detailed instructions, follow our dedicated tutorial:

apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt update
apt install docker-ce docker-ce-cli docker-compose containerd.io git

4 . Clone the Docker Jitsi Meet repository using git and cd into the downloaded directory:

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

5 . Copy the env.example file to create a environment (.env) configugration and create the required configuration directories:

cp env.example .env
mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb}

6 . Open the .env file in a text editor and edit the basic settings as following:

#
# Basic configuration options
#

# Directory where all configuration will be stored.
CONFIG=~/.jitsi-meet-cfg


# Exposed HTTP port.
# Set this value to 80 for the default HTTP port
HTTP_PORT=80

# Exposed HTTPS port.
# Set this value to 443 for the default HTTPS port
HTTPS_PORT=443

# System time zone.
TZ=Europe/Amsterdam

# Public URL for the web service.
# Configure the public URL of your Jitsi Meet instance
PUBLIC_URL=https://jitsi.example.com

# IP address of the Docker host. See the "Running on a LAN environment" section
# in the README.
#DOCKER_HOST_ADDRESS=192.168.1.1


#
# Let's Encrypt configuration
#

# Uncomment the following lines to enable SSL certificates issued by Let's Encrypt

# Enable Let's Encrypt certificate generation.
ENABLE_LETSENCRYPT=1

# Domain for which to generate the certificate.
# Set this to public domain name of your Jitsi Meet instance
LETSENCRYPT_DOMAIN=jitsi.example.com

# E-Mail for receiving important account notifications (mandatory).
LETSENCRYPT_EMAIL=me@email.com
[...]

7 . If you run a firewall on your instance or have configured a stateful cloud firewall using security groups, make sure that the following ports are open:

  • 80/tcp for Web UI HTTP (for redirections, after uncommenting ENABLE_HTTP_REDIRECT=1 in .env)
  • 443/tcp for Web UI HTTPS
  • 4443/tcp for RTP media over TCP
  • 10000/udp for RTP media over UDP

8 . Run docker-compose up -d to download and launch the application.

Note: If you want to use the Etherpad option with Jisi Meet, configure the Etherpad section in the .env file and start the docker container as following: docker-compose -f docker-compose.yml -f etherpad.yml up

Connecting to the Instance

1 . Open a web browser on your local computer and access the web UI at https://<public_instance_ip>/. The Jitsi Meet login screen displays:

Enter a name for your conference and press Go to enter the conference room. It is now possible to share the link, to set a password, configure the audio and video quality and more for the conference.

2 . Happy conferencing :)

For more information concerning the Jitsi Meet Docker image, refer to the official documentation.

Discover the Cloud That Makes Sense