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

Log in to your AWS Management Console.

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)

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

Provide the necessary parameters for your Jitsi deployment.

Parameter Description
Stack name A unique name for your CloudFormation stack.
Admin Email The email address for generating SSL certificates.
DeploymentName A name for your deployment (e.g., jitsi-prod).
DomainName Your public domain name (e.g., meet.yourcompany.com). 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.
JibriInstanceType Choose an instance type for Jibri instance (Recommended: t3a.medium).
jibriS3Bucket Choose an S3 bucket to store Jibri recordings.
JvbInstanceType Choose an instance type for JVB instance (Recommended: c5.xlarge).
keyName The name of your EC2 key pair for SSH access.
MeetInstanceType Choose an instance type for Meet instance (Recommended: t3a.small).
SSHLocation Set "SSHLocation" as "0.0.0.0/0".
SubnetCidrBlock Keep "SubnetCidrBlock" as "10.0.0.0/24".
VpcCidrBlock Keep "VpcCidrBlock" as "10.0.0.0/16".

After filling in the details, 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.‌
  2. CloudFormation Review
  3. Please make sure to create the s3 bucket. If you do t know how to create the s3 bucket, please follow our jitsi product guide video.
  4. Tick the box that says, "I acknowledge that AWS CloudFormation might create IAM resources with custom names".‌
  5. IAM Acknowledge
  6. Click "Submit".

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

CloudFormation Stacks

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

Stack Creation Complete

Update DNS

Step1: Copy IP Address

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

Copy Public IP

Step2: Update DNS

  1. Go to AWS Route 53 and navigate to "Hosted Zones".
  2. From there, select the correct hosted zone.
  3. Hosted Zones
  4. Click "Create record" and enter the "Domain Name" and then paste the copied "PublicIp" into the "value" textbox.
  5. Click "Save".

Access Jitsi Meet

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

Access Jitsi Meet

502 Bad Gateway error

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. 502 Bad Gateway

Start recording and Access

  1. After creating a meeting, go to toolbar and click on Start recording
  2. Start Recording
  3. Click on Start Recording in the dialog box
  4. Recording Dialog
  5. You will see the notification when the recording starts
  6. Recording Notification
  7. Stop the recording when you want to stop
  8. Stop Recording
  9. Go to AWS S3, search for the S3 bucket you added to store recording and access the bucket
  10. AWS S3 Bucket
  11. You will see the recorded video here. Click on the Name.
  12. Recorded Video
  13. You can view/download the recording here
  14. View/Download Recording

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.‌
  3. Copy Public IP for SSH

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:
  3. ssh -i <your key name> ubuntu @<Public IP address>
    SSH Login
  4. 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

sudo /root/certificate_generate_standalone.sh

In case if it does not work properly, please run the following command 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. EC2 Instances
  3. In EC2 you will see 4 server as the below image
  4. Four Servers
  5. Select a instance by marking the checkbox and clp instance" from the "Instance state" dropdown. You can restart the instance at your convenience by selecting "Start instance".‌
  6. Stop 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: ‌
  3. ssh -i <your key name> ubuntu @<Public IP address>
    SSH Login for Logs
  4. Type "yes" and press Enter. This will log you into the server.

Step2: Check the logs

  1. To check logs of Jitsi Meet server use the following commands
  2. 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
  3. To check logs of Jibri server use the following command
  4. sudo tail -f /var/log/jitsi/jibri/log.0.txt
  5. To check logs of JVB servers use the following command
  6. 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. vCPU Quota Error
  3. 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.‌
  4. Insufficient Capacity Error
  5. If you face the below error, when you try to access the API dashboard, please wait 5-10 minutes and then try.‌
  6. API Dashboard Error
  7. You can try checking the logs and resolvr 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.

Frequently Asked Questions

What are the minimum instance requirements for Jitsi Meet with recordings?

For a setup supporting recordings, you'll need instances for Jitsi Meet components (like c5.xlarge for up to 100 users) and additional instances for Jibri (recording component), typically t3a.medium or larger depending on recording load.

Can I use my own domain name?

Yes. This guide walks you through configuring your own domain name and setting up SSL certificates for it.

How do I handle upgrades?

When a new version is available in the AWS Marketplace, you can launch the new version and migrate your data. Remember to backup your server data before removing the old version.

What should I do if I get a '502 Bad Gateway' error?

This error usually means the application is still starting up. Please wait about 5-10 minutes after deployment and then refresh the page.

How are recordings stored?

Recordings are stored in an Amazon S3 bucket that you specify during the CloudFormation stack creation.

Ready to Deploy Jitsi Meet with Recordings on AWS?

Get started in minutes with our pre-configured AMI and take control of your video conferencing with recording capabilities.

Deploy Jitsi Meet from AWS Marketplace