Setup Jitsi Meet on AWS - Developer Guide

Setup Jitsi Meet on AWS - Developer Guide

Set up your own jitsi video conferencing platform for one hundred concurrent users and unlimited hosts. This setup has been tested to run as expected using the best in class open source WebRTC video conferencing platform, Jitsi Meet.

This guide will hlp you to setup jitsi meet in aws environment.

Prerequisites

Before you begin, make sure you meet the following prerequisites:

  1. Basic AWS Knowledge: Familiarity with AWS services, EC2 instances, Cloudformation and AWS Identity and Access Management (IAM) is required.
  2. An active AWS account with appropriate permissions.
  3. Enough vCPU limit to create ec2 instances‌
    ‌(Follow https://meetrix.io/articles/how-to-increase-aws-quota/ blog to ensure this)

Launching the AMI

Step 1: Find and Select AMI

  1. Log in to your AWS Management Console.
  2. Follow the provided links to access the Jitsi Meet product you wish to set up.

(If you want to install jitsi meet with recording:Jibri, please follow the following guide: https://meetrix.io/articles/setup-jitsi-meet-with-recordings-developer-guide)

 - Jitsi Meet 100 concurrent user video conferencing setup

 - Jitsi Meet 250 concurrent user video conferencing setup

 - Jitsi Meet 500 concurrent user video conferencing setup

Step 2:  Initial Setup & Configuration

  1. Click the "Continue to Subscribe" button.
  2. After subscribing, you will need to accept the terms and conditions. Click on "Accept Terms" to proceed.
  3. Please wait for a few minutes while the processing takes place. Once it's completed, click on "Continue to Configuration".
  4. Select your preferred region in "Configure this software" page and click "Continue to Launch" button.
  5. From the "Choose Action" dropdown menu, select "Launch CloudFormation", and then click "Launch".

Create CloudFormation Stack

Step1: Create stack

  1. Ensure the "Template is ready" radio button is selected under "Prepare template".

2. Click "Next"

Step2: Specify stack options

  1. Provide a unique "Stack name".
  2. Provide the "Admin Email" for SSL generation.
  3. For "DeploymentName", enter a name of your choice.
  4. Enter a strong password for "jicofoSecret".
  5. Provide the domain name for "jitsiDomainName".
  6. Enter a strong password for "jvbSecret".
  7. Select your preferred "keyName".
  8. Choose an instance type, "meetInstanceType" (Recommended: c5.xlarge).
  9. Set "SSHLocation" as "0.0.0.0/0."
  10. Click "Next".

Step3: Configure stack options

  1. Under stack failure options, select "Roll back all stack resources".
  2. click "Next".

Step4: Review

  1. Review and verify the details you've entered.

2. Tick the box that says, "I acknowledge that AWS CloudFormation might create IAM resources with custom names".

3. Click "Submit".

Afterward, you'll be directed to the CloudFormation stacks page.

You can easily locate the corresponding stack by searching for the stack name you entered in Step 2.

Please wait for 5-10 minutes until the stack has been successfully created. Afterward, you can click the "Refresh" button under the "Stacks" section.

Update DNS

Step1: Copy IP Address

  1. Copy the public Ip labeled "MeetPublicIp" in the "Outputs" tab.

Step2: Update DNS

  1. Go to AWS Route 53 and navigate to "Hosted Zones".
  2. From there, select the domain you provided to "jitsiDomainName".

3. Click "Edit record" in the "Record details" and then paste the copied "MeetPublicIp" into the "value" textbox.

4. Click "Save".

Generate SSL

Step1: Log in to the server

  1. Copy the "MeetPublicIp" as previously explained in "Step1: Copy IP Address" within the "Update DNS" section.
  2. Open the terminal and go to the directory where your private key is located.
  3. Paste the following command into your terminal and press Enter: ssh -i <your key name> ubuntu@<MeetPublicIp>.

4. Type "yes" and press Enter. This will log you into the server.

Step2: Generate SSL certificate.

Execute the command sudo certbot and proceed with the following steps:

a. Enter the email and press Enter.

b. Type "A" to agree and press Enter.

c. Type "Y" or "N" as you prefered and press Enter.

d. Type the number of your domain name and press Enter.

e. Type 2 and press Enter to make all requests redirect to secure HTTPS access.

The SSL certificate will generate successfully.

Create a meeting

Open your web browser and navigate to your domain name(avoid accessing Jitsi Meet through the public IP address). You will be directed to the Jitsi Meet dashboard.

(If you encounter a "502 Bad Gateway error", please wait for about 5 minutes before refreshing the page)

Enter a meeting name and click 'Start meeting' to initiate a new meeting. The meeting will commence immediately.

Shutting Down Jitsi Meet

There may be several instances deployed for the setup.

  1.  Click the link in the "Physical ID" section in the "Resources" tab to access the EC2 instances, you will be directed to the Jitsi Meet instances in EC2.‌ (To shut down the whole setup, you need to stop all the running servers if available. Number of instances deployed will be depended on your setup).

2.  Select a instance by marking the checkbox and click "Stop instance" from the "Instance state" dropdown. You can restart the instance at your convenience by selecting "Start instance".‌

Remove Jitsi Meet

Delete the stack that has been created in the AWS Management Console under 'CloudFormation Stacks' by clicking the 'Delete' button.

Check Server Logs

Step1: Log in to the server (You have to log into all the servers separately in order to check logs of all the servers)

  1. Open the terminal and go to the directory where your private key is located.
  2. Paste the following command into your terminal and press Enter: ‌
    ssh -i <your key name> ubuntu@<Public IP address>

3. Type "yes" and press Enter. This will log you into the server.

Step2: Check the logs

 a. To check logs of Jitsi Meet server use the following commands

sudo tail -f /var/log/jitsi/jicofo.log
sudo tail -f /var/log/prosody/prosody.log
sudo tail -f /var/log/prosody/prosody.err
sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/syslog

 b. To check logs of JVB servers use the following command

sudo tail -f /var/log/jitsi/jvb.log

Upgrades

When there is an upgrade, we will update the product with a newer version. You can check the product version in AWS Marketplace. If a newer version is available, you can remove the previous version and launch the product again using the newer version. Remember to backup the necessary server data before removing.

Troubleshoot

  1. If you face the following error, please follow https://meetrix.io/articles/how-to-increase-aws-quota/ blog to increase vCPU quota.‌

2.  If you face the following error (do not have sufficient <instance_type> capacity...) while creating the stack, try changing the region or try creating the stack at a later time.‌

3. If you face the below error, when you try to access the API dashboard, please wait 5-10 minutes and then try.‌

4. You can try checking the logs and resolving the issue on your own. If you need assistance, feel free to reach out to us. We are more than happy to help

Conclusion

The Guide is your comprehensive resource in the integration of Jitsi Meet into your AWS setup. Regardless of your level of experience as a developer, our guide offers comprehensive, sequential instructions to guarantee a smooth setup procedure. Whether you're hosting virtual meetings, conducting remote classes, or connecting with loved ones, Jitsi Meet empowers you to stay connected from anywhere in the world. Start hosting your own video conferences today with Jitsi Meet and experience the benefits firsthand!

Technical Support

Reach out to Meetrix Support (support@meetrix.io)  for assistance with Jitsi Meet issues.

Discover Seamless Meetings with >>>
Meetrix