Linode Jitsi

— Setting the System Hostname. In this step, you will change the system’s hostname to match the. I will install jitsi meet on Fresh & Clean Ubuntu 18.04-LTS (x64) Server with Recommended Specification. 100/500 GB Hard Disk ( For Recording and Installation ) I need for this dedicated bare metal server Or VPS of well known Company.( Amazon AWS, Google Cloud, Digital Ocean, Linode, Vultr, Upcloud, Azure and etc). Ubuntu, CentOS, Debian, AWS, Digital Ocean, Linode, Jitsi Meet, OpenMeet, BigBlueButton, Zoom, Video Conference, SMS Gateway, SMPP setup, All Linux CRM Softwar Setup. Jitsi on mobile – download our apps and start a meeting from anywhere. Hello, Slack fans! Very pleased to meet you! There's no need to create an account.

Follow these steps for a quick Jitsi-Meet installation on a Debian-based GNU/Linux system.The following distributions are supported out-of-the-box:

  • Debian 9 (Stretch) or newer
  • Ubuntu 18.04 (Bionic Beaver) or newer

Note: Many of the installation steps require root or sudo access.

Required packages and repository updates

You will need the following packages:

  • gnupg2
  • nginx-full
  • sudo # only needed if you use sudo
Linode Jitsi

OpenJDK 8 or OpenJDK 11 must be used.

Make sure your system is up-to-date and required packages are installed:

On Ubuntu systems, Jitsi requires dependencies from Ubuntu's universe package repository. To ensure this is enabled, run this command:

Install Jitsi Meet

Domain of your server and set up DNS

Linode Jitsi Meet

Decide what domain your server will use. For example,

Set a DNS A record for that domain, using:

  • your server's public IP address, if it has its own public IP; or
  • the public IP address of your router, if your server has a private (RFC1918) IP address (e.g. and connects through your router via Network Address Translation (NAT).
Linode jitsi download

If your computer/server or router has a dynamic IP address (the IP address changes constantly), you can use a dynamic dns-service instead.

Set up the Fully Qualified Domain Name (FQDN) (optional)

If the machine used to host the Jitsi Meet instance has a FQDN (for example already set up in DNS, you can set it with the following command:

sudo hostnamectl set-hostname

Then add the same FQDN in the /etc/hosts file:

Battleships Battleships are only spawned within one current map of the game and feature the most rewarding points so far for destroying a vehicle objective in the game. Primarily being able to be destroyed by Torpedoes, these ships can sustain multiple waves of damage before letting the water swallow them up. Discord🚗: If you want realism, you'll get it in War Thunder. The Naval, Arcade and Realistic modes are available. In Arcade, you have a simplified handling of boats. Your aim in World of Warships is based on the enemy's speed and trajectory. Four battleships were planned, two Scharnhorst-class and two Bismarck-class with the latter being the largest of the kinds for Germany in World War II. The first of the latter class was finished in September 1940 as the Bismarck, itself and its class named after Otto von Bismarck. In the War Thunder “New Power” update, we are presenting the first battleships and battlecruisers! These are giant, heavily armored ships with large-calibre guns. War thunder warships.

Note: x.x.x.x is your server's public IP address.

Finally on the same machine test that you can ping the FQDN with:

ping '$(hostname)'

If all worked as expected, you should

Add the Jitsi package repository


This will add the jitsi repository to your package sources to make the Jitsi Meet packages available.

Setup and configure your firewall

The following ports need to be open in your firewall, to allow traffic to the Jitsi Meet server:

  • 80 TCP - for SSL certificate verification / renewal with Let's Encrypt
  • 443 TCP - for general access to Jitsi Meet
  • 10000 UDP - for general network video/audio communications
  • 22 TCP - if you access you server using SSH (change the port accordingly if it's not 22)
  • 3478 UDP - for quering the stun server (coturn, optional, needs config.js change to enable it)
  • 5349 TCP - for fallback network video/audio communications over TCP (when UDP is blocked for example), served by coturn

If you are using ufw, you can use the following commands:

Check the firewall status with:

Using SSH

For more details on using and hardening SSH access, see the corresponding Debian or Ubuntu documentation.

Forward ports via your router

If you are running Jitsi Meet on a server behind NAT, forward the ports on your router to your server's IP address.

Note: if participants cannot see or hear each other, double check your firewall / NAT rules.

TLS Certificate

In order to have encrypted communications, you need a TLS certificate.

During installation of Jitsi Meet you can choose between different options:

  1. The recommended option is to choose Generate a new self-signed certificate and create a Lets-Encrypt Certificate later (see below) (this will replace the self-signed certificate).

  2. But if you want to use a different certificate or you want to choose a different challenge type of Let's Encrypt (see below for details), you should create that certificate first and then install jitsi-meet and choose I want to use my own certificate.

  3. You could also use the self-signed certificate but this is not recommended for the following reasons:

    • Using a self-signed certificate will result in warnings being shown in your users browsers, because they cannot verify your server's identity.

    • Jitsi Meet mobile apps require a valid certificate signed by a trusted Certificate Authority and will not be able to connect to your server if you choose a self-signed certificate.

Install Jitsi Meet

Note: The installer will check if Nginx or Apache are present (in that order) and configure a virtual host within the web server it finds to serve Jitsi Meet.

If you are already running Nginx on port 443 on the same machine, turnserver configuration will be skipped as it will conflict with your current port 443.

SSL/TLS certificate generation:You will be asked about SSL/TLS certificate generation.See above for details.

Hostname:You will also be asked to enter the hostname of the Jitsi Meet instance. If you have a domain, use the specific domain name, for you can enter the IP address of the machine (if it is static or doesn't change).

This hostname will be used for virtualhost configuration inside Jitsi Meet and also, you and your correspondents will be using it to access the web conferences.

Access Control

Linode Jitsi App

Jitsi Meet server:Note: By default, anyone who has access to your Jitsi Meet server will be able to start a conference: if your server is open to the world, anyone can have a chat with anyone else.If you want to limit the ability to start a conference to registered users, follow the instructions to set up a secure domain.

Conferences/Rooms:The access control for conferences/rooms is managed in the rooms, you can set a password on the webpage of the specific room after creation.See the User Guide for details:

Generate a Let's Encrypt certificate (optional, recommended)

In order to have encrypted communications, you need a TLS certificate.

The best method is to create a certificate that is signed by a Certificate Authority.This way you can avoid problems with a self-signed certificate (see above for details).The easiest way is to use Let's Encrypt.

Simply run the following in your shell:

Note that this script uses the HTTP-01 challenge type and thus your instance needs to be accessible from the public internet on both ports 80 and 443. If you want to use a different challenge type, don't use this script and instead choose I want to use my own certificate during jitsi-meet installation.

Advanced configuration

If the installation is on a machine behind NAT jitsi-videobridge should configure itself automatically on boot. If three way calls do not work, further configuration of jitsi-videobridge is needed in order for it to be accessible from outside.

Provided that all required ports are routed (forwarded) to the machine that it runs on. By default these ports are (TCP/443 or TCP/4443 and UDP/10000).

The following extra lines need to be added to the file /etc/jitsi/videobridge/

And comment the existing

See the documentation of ice4jfor details.

Systemd/Limits:Default deployments on systems using systemd will have low default values for maximum processes and open files. If the used bridge will expect higher number of participants the default values need to be adjusted (the default values are good for less than 100 participants).

To update the values edit /etc/systemd/system.conf and make sure you have the following values if values are smaller, if not do not update.

To check values just run:

To load the values and check them see below for details.

Systemd details

Linode Git Server

To reload the systemd changes on a running system execute sudo systemctl daemon-reload and sudo systemctl restart jitsi-videobridge2.To check the tasks part execute sudo systemctl status jitsi-videobridge2 and you should see Tasks: XX (limit: 65000).To check the files and process part execute cat /proc/`cat /var/run/jitsi-videobridge/`/limits and you should see:

Confirm that your installation is working

Launch a web browser (such as Firefox, Chrome or Safari) and enter the hostname or IP address from the previous step into the address bar.

If you used a self-signed certificate (as opposed to using Let's Encrypt), your web browser will ask you to confirm that you trust the certificate. If you are testing from the iOS or Android app, it will probably fail at this point, if you are using a self-signed certificate.

You should see a web page prompting you to create a new meeting.
Make sure that you can successfully create a meeting and that other participants are able to join the session.

If this all worked, then congratulations! You have an operational Jitsi conference service.


Linode Jitsi

Sometimes the following packages will fail to uninstall properly:

  • jigasi
  • jitsi-videobridge

When this happens, just run the uninstall command a second time and it should be ok.

The reason for the failure is that sometimes the uninstall script is faster than the process that stops the daemons. The second run of the uninstall command fixes this, as by then the jigasi or jitsi-videobridge daemons are already stopped.

Debugging problems

  • Web Browser:You can try to use a different web browser. Some versions of some browsers are known to have issues with Jitsi Meet.

  • WebRTC, Webcam and Microphone:You can also visit to test your browser's WebRTC support.

  • Firewall:If participants cannot see or hear each other, double check your firewall / NAT rules.

  • Nginx/Apache:As we prefer the usage of Nginx as webserver, the installer checks first for the presence of Nginx and then for Apache. In case you desperately need to enforce the usage of apache, try pre-setting the variable jitsi-meet/enforce_apache for package jitsi-meet-web-config on debconf.

  • Log files:Take a look at the various log files:

Additional Functions

Adding sip-gateway to Jitsi Meet

Install Jigasi

Jigasi is a server-side application acting as a gateway to Jitsi Meet conferences. It allows regular SIP clients to join meetings and provides transcription capabilities.

During the installation, you will be asked to enter your SIP account and password. This account will be used to invite the other SIP participants.

Reload Jitsi Meet

Launch again a browser with the Jitsi Meet URL and you'll see a telephone icon on the right end of the toolbar. Use it to invite SIP accounts to join the current conference.


After successfully experimenting with a Linode Nanode for a jitsi server I needed a new project. I chose to give Linode Object Storage a try and integrated it for external media and downloads with a download manager plugin in WordPress.

Linode Object Storage

Object Storage is a flat rate of 5$ per month and includes 250 GB. Inbound data transfer isn’t counted and 1 TB of outbound traffic is included (additional GB are 0.01$).

Setting up Object Storage in Linode Manager is remarkably easy. Basically you just add a bucket, give it a name and chose a region for the data center to be used. Of course I used Frankfurt to keep all data in Germany. On the second page you can easily generate access keys.
The bucket names in a cluster (region) are unique. Objects have got an individual URL in the format bucket.cluster/filename.ext.

I use ForkLift as my transfer client of choice and it’s super easy to add Linode’s Object Storage as an AWS S3 connection. The buckets then appear as folders.

Per default every object is private, but permissions can be changed easily. To make objects publicly accessible, the read permission for “Others” needs to be set. On other clients this might be called “Everyone”.

Signed URLs

Signed URLs can be created to grant time limited access to a private object by utilising a designated access key. This just appends a key to the objects URL in the format of ?AWSAccessKeyId=YOUROBJECTSTORAGEACCESSKEY&Expires=1.

These cannot be generated in Linode Manager, sadly. The CLIs of Linode and s3cmd can be used. I didn’t get lucky to get the Linode CLI to install/work properly, but since there was an alternative I didn’t bother more than two seconds. Installing s3cmd with homebrew was easy and generating a key by following Linode’s instructions worked.
I don’t have a use case for this at the moment, but it’s nice to try it and to know I could utilise signed URLs if I ever need them.


Basic integration

I used integration in the title, but that’s maybe too big of a word. Since every file is available with a URL, you just point your media towards it.

That’s basically it. To test all of this, I made a Super Secret Test Page and added some media. Everything works as expected with the integrated image and video blocks.

Useful Download links

I also wanted to offer download links with a preferably nice download button. This caused some frustration because using the integrated “Button” block causes e. g. images to be opened inside the browser.
The “File” block can’t be used because it only works with local files.

I tried several download manager plugins: WordPress Download Manager, Simple Download Manager, Download Monitor, Easy Media Download, Download Attachments. The only one that is simple enough for what I want and where the download links actually work as expected is Download Monitor by Never5.

Open/Save dialogues in Firefox and mobile Safari

Download Monitor has several style options, which can be altered with custom templates. It also counts and logs downloads, but importantly can be configured to anonymise IP addresses, which I of course configured immediately. I don’t care who you are. That’s none of my business.

For now, I use the built-in “Button” template. I like this one because it shows additional information: file name, a counter, and most importantly the file size. The button scales nicely to the post width, even on mobile devices.