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:
- A self owned domain name
- A self owned VPS or server access
- 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 amongDNS 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.. 🙂