start a new Jitsi server with Jibri
I've created an instance template that sets up a t3.large instance with Ubuntu 18.04 LTS on AMD64 chips, my security key, security groups for public access, and only my ssh access (using my laptop IP).
For new developers, launch a new instance with these settings:
- Ubuntu Server 18.04 LTS (64-bit x86)
- t3.xlarge 4 CPUs & 16 Gb RAM
- New security group. Pick a name like Jitsi-Security-Group.
- For security, change the SSH rule Source to "My IP" to restrict access.
- Add rule - Type: HTTP, Source: Anywhere
- Add rule - Type: HTTPS, Source: Anywhere
- Add rule - Type: Custom TCP, Port: 4443, Source Anywhere
- Add rule - Type: Custom UDP, Port 10000, Source Anywhere
When you launch, save the settings as a new template to make creating new instances easier.
For launching from template:
- Launch a new instance from the template. Make sure to have the security key (pem file) and the access group has the IP address of the laptop being used.
Finally, for everyone:
- Associate an Elastic IP address with the instance (can be reused for preserving DNS lookup).
To issue security ceritficates, Let's Encrypt (the free one), seems not to allow AWS namespace domains.
- Point a DNS lookup to the Elastic IP address of the EC2 instance
- Change DOMAIN_NAME to the domain set up above.
- Change JITSI_USER and JITSI_PASSWORD to set up a user that will have permission to create meetings
- Change APP_NAME to the name of you app.
- If you are reusing the IP address and have SSH'd to the old servers, remove that line from known hosts.
- SSH to the instance, and enter super user mode.
For example (replace with your own key and EC2 DNS address for the instance)
scp -i ~/.ssh/jitsi-1.pem *.sh [email protected]:~
ssh -i ~/.ssh/jitsi-1.pem [email protected]
sudo su -
echo "source /home/ubuntu/0-export-variables.sh" >> ~/.bashrc
source ~/.bashrc
source /home/ubuntu/1-change-host.sh
Install the package maintainer's version of the boot grub. This will reboot the instance, kicking you off the SSH connection. Reconnect to SSH after a few seconds.
ssh -i ~/.ssh/jitsi-1.pem [email protected]
sudo su -
According to the docs, the task count may go higher than the default limits for conferences with over 100 participants. https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md#advanced-configuration
source /home/ubuntu/2-increase-task-limit.sh
source /home/ubuntu/3-jitsi-up.sh
The AWS Linux kernel does not have the ALSA sound module. The generic kernel has it.
source /home/ubuntu/4-generic-kernel.sh
This will reboot the instance, kicking you off the SSH connection. Reconnect to SSH after a few seconds.
ssh -i ~/.ssh/jitsi-1.pem [email protected]
sudo su -
The Linux name should now be generic.
uname -r
source /home/ubuntu/5-jibri-up.sh
You should be able to record and livestream with Jibri now
Edit opt-util-ffmpeg.sh with the address of the RTMP server you want to use. To broadcast to more than one server at a time, use Nginx RTMP proxying (not covered here, yet). https://community.jitsi.org/t/stream-to-any-or-multiple-rtmp-destinations-record-simultaneously/51943
source /home/ubuntu/replace-rtmp.sh