Setup Jitsi Meet with Recordings - Developer Guide

Setup Jitsi Meet with Recordings - Developer Guide

Welcome to the Jitsi Meet Developer Guide! This guide is designed to assist you in integrating Jitsi Meet into your AWS environment through detailed, step-by-step instructions.

Self hosted Jitsi meet setup for video conferencing using the best open source platform powered by meetrix.io. The perfect alternative to costly solutions such as Zoom, Microsoft Teams and Google meet.

Prerequisites

Before you get started with the Jitsi Meet AMI, ensure you have the following prerequisites:

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 without recording:Jibri, please follow the following guide: https://meetrix.io/articles/setup-jitsi-meet-developer-guide)

 - Jitsi Meet 100 concurrent user video conferencing setup with recording

 - Jitsi Meet 250 concurrent user video conferencing setup with recording

 - Jitsi Meet 500 concurrent user video conferencing setup with recording

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 the "video conferencing setup with recording " as the fulfilment option and choose your preferred region on the "Configure this software" page. Afterward, click the "Continue to Launch" button.
  5. From the "Choose Action" dropdown menu in "Launch this software" page, select "Launch CloudFormation" and click "Launch" button.

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. Provide a public domain name for "DomainName". (Jitsi Meet will automatically try to setup SSL based on provided domain name, if that domain hosted on Route53. Please make sure your domain name hosted on route53. If its unsuccessful then you have to setup SSL manually)
  5. Choose an instance type for Jibri instance, "JibriInstanceType" (Recommended: t3a.medium).
  6. Choose an S3 bucket to store Jibri recordings, "jibriS3Bucket" .
  7. Choose an instance type for JVB instance, "JvbInstanceType" (Recommended: c5.xlarge).
  8. Select your preferred "keyName".
  9. Choose an instance type for Meet instance, "MeetInstanceType" (Recommended: t3a.small).
  10. Set "SSHLocation" as "0.0.0.0/0".
  11. Keep "SubnetCidrBlock" as "10.0.0.0/24".
  12. Keep "VpcCidrBlock" as "10.0.0.0/16".
  13. Click "Next".

Step3: Configure stack options

  1. Choose "Roll back all stack resources" and "Delete all newly created resources" under the "Stack failure options" section.
  2. click "Next".

Step4: Review

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

Please make sure to create the s3 bucket. If you do not know how to create the s3 bucket, please follow our jitsi product guide video.

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.‌

Please wait for 5-10 minutes until the stack has been successfully created.‌

Update DNS

Step1: Copy IP Address

  1. Copy the public Ip labeled "PublicIp" in the "Outputs" tab.‌

Step2: Update DNS

  1. Go to AWS Route 53 and navigate to "Hosted Zones".
  2. From there, select the correct hosted zone.

3. Click "Create record" and enter the "Domain Name" and then paste the copied "PublicIp" into the "value" textbox.

4. Click "Save".

Access Jitsi Meet

You can access the Jitsi Meet application through the "JitsiUrl" or 'JitsiIPUrl' provided in the "Outputs" tab.‌

(If you encounter a "502 Bad Gateway error", please wait for about 5 minutes before refreshing the page)‌
Click on Start Meeting button to create a meeting.

Check whether the SSL certificate is installed correctly. If it is not, please follow the "Generate SSL Manually" section.

Start recording and Access

  1.  After creating a meeting, go to toolbar and click on Start recording

2.  Click on Start Recording in the dialog box

3.  You will see the notification when the recording starts

4. Stop the recording when you want to stop

5. Go to AWS S3, search for the S3 bucket you added to store recording and access the bucket

6.  You will see the recorded video here. Click on the Name.

7. You can view/download the recording here

Generate SSL Manually

Jitsi Meet will automatically try to setup SSL based on provided domain name, if that domain hosted on Route53. If its unsuccessful then you have to setup SSL manually.

Step1: Copy IP Address

  1. Proceed with the instructions outlined in the above "Update DNS" section, if you have not already done so.

2. Copy the Public IP address indicated as "PublicIp" in the "Outputs" tab.‌

Step2: Log in to the server

  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.

Step3: Generate SSL

Paste the following command into your terminal and press Enter and follow the instructions:

sudo certbot --nginx

Admin Email is needed to generate SSL certificates.

Shutting Down Jitsi Meet

There will be 4 instances deployed for the setup.
One instances each for Jitsi Meet and Jibri. Two instances for JVB.

  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 the 4 servers).

2. In EC2 you will see 4 server as the below image

3.  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 Jibri server use the following command

sudo tail -f /var/log/jitsi/jibri/log.0.txt

 c. 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