How to setup a video calling app on your own server?

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

Requirements 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

Step 1: Sign up for a DigitalOcean. Set your default project.

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

Step 2: 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.

Step 3: 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.

Ensure that your domain is pointed to your droplet's IP address. If you haven't done this yet, update your domain's DNS settings with the IP address of your droplet.

Step 4: Access your VPS via SSH

Once your droplet is created, you need to access it via SSH. Open up your Terminal from your operating system and run the following command:

ssh root@your_droplet_ip_address

Replace your_droplet_ip_address with the actual IP address of your droplet. If you used SSH key authentication during droplet creation, you won't need to enter a password.

Step 5: Running Jitsi Meet Installation Scripts

Inside your droplet, you need to run the Jitsi Meet installation scripts.

Execute the following commands in your terminal:

wget https://github.com/jitsi/docker-jitsi-meet/archive/refs/tags/stable-6173.tar.gz
tar xf stable-6173.tar.gz
cd docker-jitsi-meet-stable-6173
cp env.example .env
nano .env

The nano .env command opens the environment configuration file in the nano text editor. Adjust the configuration options as needed, such as domain names and authentication methods.

Step 6: Running the Docker Compose File

After configuring the environment, run the following commands to start the Jitsi Meet services:

./gen-passwords.sh
docker-compose -f docker-compose.yml -f etherpad.yml up -d

Wait for the services to start. This might take a few minutes.

Step 8: Accessing Jitsi Meet

Once everything is set up, open a web browser and navigate to https://your_domain. You should see the Jitsi Meet interface. Create a new meeting and share the link with others.

Additional Jitsi Meet Configuration (Optional)

Explore the Jitsi Meet documentation for any additional configurations you might need, such as setting up secure domain configuration, enabling authentication, or integrating with external services.

That's it! Your Jitsi Meet instance should now be up and running on your own server

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