--- title: Jitsi Meet --- # Install Jitsi Private Meet on Ubuntu Jitsi Meet stands as a complimentary and open-source video conferencing solution, distinguished by a suite of premium features encompassing superior sound quality, advanced encryption and privacy measures, and ubiquitous compatibility across multiple platforms. Leveraging the capabilities of Jitsi Meet facilitates the seamless establishment of an impressive video conferencing service tailored to your unique needs. ## Manual Installation If you prefer to install your server manually, follow the steps below. ## Prerequisites * A fresh E2E Ubuntu server node. For best results, we recommend a High Frequency Compute instance with at least 2 GB of memory. * A non-root sudo user. Use Vultr's best practice guide to create a sudo user on Ubuntu. * A Fully Qualified Domain Name (FQDN) assigned to your server's IP address. ### step 1. Create a Swap Partition To enhance system performance on a machine equipped with 2 GB of memory, it is advisable to allocate a swap partition of at least 2 GB (2048 MB). Selecting a swap partition size commensurate with your instance's memory specifications contributes to optimizing overall system responsiveness and stability. ```bash sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab free -m ``` ### step 2. Set the Hostname and FQDN You must set the hostname and fully qualified domain name (FQDN) before you deploy the Let's Encrypt HTTPS certificate for security. Use the [E2E Best Practice Guide](/docs/myaccount/node/troubleshoot/hostname-and-config/) to configure your server hostname and FQDN. This guide uses the example names jitsi, and jitsi.example.com. Jitsi requires OpenSSH, HTTP, and HTTPS traffic, along with inbound UDP traffic on port 10000 through port 20000. ```bash iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 20000 -j ACCEPT iptables-save systemctl restart iptables Command may disrupt existing ssh connections. Proceed with operation (y|n)? y ``` When prompted to proceed, type Y and then ENTER. ### Step 3. Update the system and Install OpenJDK Java Runtime Environment (JRE)11 ```bash sudo apt update sudo apt install openjdk-11-jre-headless ``` Verify OpenJDK is installed properly. ```bash java -version ``` Set the **JAVA_HOME** environment variable. ```bash echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile source /etc/profile ``` ### Step 4. Install the Nginx Web Server Jitsi works best with Nginx and will automatically configure Nginx settings if we install it first. ```bash sudo apt install -y nginx sudo systemctl start nginx.service sudo systemctl enable nginx.service ``` ### Step 5. Install Jitsi Install Jitsi from the official Jitsi repository. ```bash wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add - echo "deb https://download.jitsi.org stable/" | sudo tee -a /etc/apt/sources.list.d/jitsi-stable.list sudo apt update sudo apt install -y jitsi-meet ``` The installer will request your FQDN. Enter the fully-qualified domain name of your server. ![j1](images/j1.png) When asked to configure SSL, select Generate a new self-signed certificate. ![j2](images/j2.png) ### Step 6. Install Let's Encrypt SSL Certificate Use the following script to request a Let's Encrypt SSL certificate. ```bash sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh ``` The script prompts for your email address. Enter your address and press **ENTER**. ```bash Enter your email and press [ENTER]: admin@example.com ``` ## Correct the certbot-auto error You will probably see the following error, because Ubuntu has removed the python-virtualenv package. ```bash Package python-virtualenv is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source. E: Package 'python-virtualenv' has no installation candidate ``` This work-around will correct the error. #### i. Install the certbot package from the Ubuntu repository. ```bash sudo apt install certbot ``` ii. Update install-letsencrypt-cert.sh to use certbot instead of certbot-auto. ```bash sudo sed -i 's/\.\/certbot-auto/certbot/g' /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh ``` iii. The Jitsi script expects certbot in /usr/sbin, and Ubuntu installs it in /usr/bin. Make a symbolic link for the script. ```bash sudo ln -s /usr/bin/certbot /usr/sbin/certbot ``` iv. Run the script again. ```bash sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh ``` ### Step 7. Start a Meeting Navigate to **https://jitsi.example.com** in your favorite web browser to access your Jitsi Meet Video conferencing service. ---