WEB and video conferencing became a vital part of any digital business. There are many online WEB conference service providers which are doing a good job for the money.
But in case you are concerned with the cost or privacy/security, there is a good alternative – free open source software project Jitsi.org
For example, for 100 employees with ability to start their own WEB conference, the basic Zoom plan may cost you about $2,000/month.
Depending on how much conferencing you do, your requirements can be supported by a virtual cloud infrastructure which may cost just about $200-$300/month.
Note: Cost estimation is subject to data volume, traffic, number of concurrent conferences etc.
You just need to deploy it on your own server. In my video I show how to run your own Jitsi server in AWS cloud in about 5 minutes.
I wanted to keep the video as short as possible, so I followed a fairly basic Jitsi installation. You can explore Jitsi project for additional modules, features and recommended best practices.
Here are additional useful resources to explore.
Original post “Run your own teleconferencing server with Jitsi on EC2” which I used as a baseline for my deployment.
Github project with the original cloudformation template:
My minor addition to the original cloudformation template to create a DNS record in Route 53 service:
DNSRecord: Type: AWS::Route53::RecordSet DependsOn: - EIP Properties: HostedZoneName: !Ref DNSZone Comment: DNS name for ec2 with Jitsi. Name: !Ref DNSName Type: A TTL: '900' ResourceRecords: - !Ref EIP
My .sh script to deploy cloudformation template:
export STACK_NAME=TestVideo export SSH_LOCATION='0.0.0.0/0' export KEY_NAME=jitsi-ec2-key export DNS_ZONE=practicaltech.io. export DNS_NAME=video.practicaltech.io export EC2_TYPE=t2.small aws cloudformation deploy \ --stack-name $STACK_NAME \ --template-file ./jitsi.yml \ --parameter-overrides SSHLocation=$SSH_LOCATION\ KeyName=$KEY_NAME\ DNSZone=$DNS_ZONE\ DNSName=$DNS_NAME\ InstanceTypeParameter=$EC2_TYPE
Finally, I recommend to spend another 5 minutes and secure your Jitsi deployment with password-based authentication as explained here: https://jitsi.github.io/handbook/docs/devops-guide/secure-domain
What is not mentioned in that handbook, is that you need to restart Jitsi components, I used the following commands:
# Restart sudo prosodyctl restart sudo /etc/init.d/jicofo restart sudo /etc/init.d/jitsi-videobridge2 restart # Add user - use your domain sudo prosodyctl adduser email@example.com