Host your own video service app using Jitsi
Ready to do something new? Want to host your own video service app? Great. I will show you how to do it quickly. In this article, we will be learning how to host your own Jitsi app. I am assuming that you people are already knowing how to create a virtual space like AWS’s EC2 instance or Azure’s VM. We will be hosting our code in Ubuntu Machine of 4 GB Ram, 2 CPUs, and 30 GB storage.
Get your VM’s access
Connect to your instance or virtual machine using SSH.
ssh -i <your-permission-file.pem> <user-name>@<server'-IP>
eg: ssh -i test.pem azureuser@13.76.157.xxx
Setup Domain Name
- Go to you domain name provider
- Enter DNS Management.
- Add a new A Record pointing to Virtual Server’s Public IP.
- let’s say you have a domain name that is “myvideoapp.com”. You can add a new subdomain called “meet” by adding a new A-record. So, your new meet domain name will “meet.myvideoapp.com”
- We will be using this domain name for further steps.
Pre-Configuration
- get root access as all commands will require sudo.
sudo su -
- check iptables. Here you would find iptables to be empty.
iptables -L -n
- check firewall status. You will find that firewall is disabled
ufw status
- Enable Firewall
ufw enable
. - Allow Firewall for given ports.
ufw allow in ssh
ufw allow in 80/tcp
ufw allow in 443/tcp
ufw allow in 10000:20000/udp
ufw allow in ssh
,ufw allow in 80/tcp
,ufw allow in 443/tcp
,ufw allow in 10000:20000/udp
- check firewall status.
ufw status
Add Jitsi Repo
curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
Install
- nginx
apt install nginx
- jitsi-meet
apt install jitsi-meet
- Enter your domain name. eg: “meet.myvideoapp.com”
- Select the “Install self-signed certificate” option for the SSL certificate.
- Run the script to install SSL cert
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Extras
If you want to create your own SSL certificate then this is a good place to go.
https://certbot.eff.org/lets-encrypt/ubuntubionic-webproduct
This is currently written to quickly host your app. I will update this to a more read-friendly one if someone wants it.
- check iptables again.
iptables -L -n