Video Conferencing: Host your own video conferencing server with Jitsi

Video conferencing can get pretty expensive when you use an external service such as Zoom. For companies that do not want to bother with the infrastructure setup, it is a small price to pay to get great quality for video conferences.

If you're a developer or familiar with setting up your own servers, it seems unnecessary to bear these costs. A great free open sourced tool for video conferencing called Jitsi allows you to configure your own servers and scale them up as necessary!

If you're looking to make a quick call without hosting your own server, you can create a quick call here!

In this guide, we cover how to set up your own instance of Jitsi with docker and Let's Encrypt.

Getting Started

  1. Create a Ubuntu server instance using docker
  2. Install docker and docker compose using the command
sudo apt update; # initial setup, update packages
sudo apt install apt-transport-https ca-certificates curl software-properties-common; # allow installation of packages over https
sudo apt install docker-compose
Language: shell
  1. Clone Jitsi (Docker) using the command
git clone && cd docker-jitsi-meet
Language: shell
  1. Copy the sample .env file
cp env.example .env
Language: shell
  1. Generate secure passwords for your app
Language: shell
  1. Create the configuration directories for your instance
mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}
Language: shell
  1. Open the .env file and set the following properties
# Enable Let's Encrypt certificate generation
# Domain for which to generate the certificate
# E-Mail for receiving important account notifications (mandatory)
[email protected]
# Exposed HTTP port
# Exposed HTTPS port
Language: .env
  1. Add your server's IP address to your DNS provider's list for your domain. This will allow the automated domain verification to be completed via let's encrypt.

  2. Run the setup using docker-compose

docker-compose up -d
Language: shell
  1. If there has been any configuration error in the earlier steps, you will need to reset the state and run docker-compose up -d again.
rm -rf ~/.jitsi-meet-cfg/ && docker-compose up -d
Language: shell

Finishing up

You can perform some additional configuration such as removing the watermark or changing the page title of the conference link by editing the configuration at ~/.jitsi-meet-cfg/web/interface_config.js.

That's it! Happy conferencing! :)

Created at: 2020-04-18 - 05:00 AM by Conrad Koh