Run your own video calling app on your own server

open source Oct 27, 2020

TL;DR for devs: Setting up a preconfigured Jitsi Meet image on a VPS in an apex domain.

Things to own before starting this tutorial:

  1. A self owned domain name
  2. A self owned VPS or server access
  3. A self owned basic knowledge of terminal

What are we going to do actually:

We are going to install a completely free open source video conferencing software onto your self owned domain name and server.

How can it suit my needs:

  • Anyone can join the meeting without any account
  • No time limit on meeting sessions
  • Full screen sharing available
  • Set passwords to join meeting
  • No limit on number of people

Why should I try:

  • Fastest possible connection for your local users
  • Complete control over your data and database
  • It will only fail when your own server fail
  • You pay for your server. You control your shit.
  • No privacy concerns. No eavesdropping.
  • I’m a Do it yourself. DIY Master

Steps for DigitalOcean:

Sign up and login for a DigitalOcean account. Set your default project.

Create a droplet. Choose an image. Marketplace. Search keyword jitsi server

Select image Jitsi Server. Choose a plan suitable to you.

Choose a Datacenter region wisely. Select the nearest possible geographical region from your current location.

Use SSH authentication recommended. Use strong password if needed.

Add multiple droplets to make it more performant.

Click the long green button and create droplet. Wait for seconds to boot up.

Add a domain from Networking. Create A new record. Add your apex domain as HOSTNAME. Select the created droplet in dropdown from WILL DIRECT TO. Create Record. Verify it below in the list among DNS records.

Open up your Terminal from your operating system. CMD Windows, Terminal Linux MacOS.

Access the droplet console via ssh by running

user@host:~$ ssh root@123.456.789

Run both .sh scripts to complete Jitsi setup

user@host:~$ ./01_videoconf.sh
user@host:~$ ./02_https.sh

this tutorial is incomplete and fragmented due to lack of motivation.. i’ll try asap.. 🙂

Tags

Sparsh

Software Engineer