How to Install Jitsi Meet on Debian 12

Estimated reading: 4 minutes 666 views

Introduction

Jitsi Meet is an open-source video conferencing platform that allows you to host secure online meetings on your own infrastructure. Self-hosting Jitsi gives you full control over privacy, scalability, and system configuration.

This tutorial shows how to install Jitsi Meet on Debian 12, following a clear, linear flow that matches the recorded video, with every command explained so viewers understand what is happening at each step.


Prerequisites

  • Debian 12 server

  • Root SSH access

  • A domain/subdomain pointing to your server (e.g. meet.example.com)


Step 1: Connect to the Server (Linux, macOS & Windows)

Linux / macOS

ssh root@YOUR_SERVER_IP

Connects to the server using SSH as the root user.

Windows (PowerShell / Windows Terminal)

ssh root@YOUR_SERVER_IP

Uses the built-in OpenSSH client on Windows.

Windows (PuTTY)

  • Host Name: YOUR_SERVER_IP

  • Port: 22

  • Connection type: SSH

  • Username: root

After connecting successfully, you should see a root shell prompt, confirming root access.


Step 2: Update the Operating System

apt update
  • Refreshes the local package index

  • Ensures Debian knows about the latest available packages

apt upgrade -y
  • Installs all available system and security updates

  • Prevents dependency issues during Jitsi installation

Note:
If you encounter the error “dpkg was interrupted”, fix it by running:

dpkg --configure -a

Then repeat apt update and apt upgrade -y.


Step 3: Set the Hostname (Mandatory for Jitsi)

Jitsi requires a fully qualified domain name (FQDN) to work correctly.

hostnamectl set-hostname meet.example.com
  • Sets the system hostname permanently

  • Required for Prosody and Jitsi components


Update local hostname resolution

nano /etc/hosts

Add or update the following lines:

127.0.0.1       localhost
YOUR_SERVER_IP  meet.example.com

  • Ensures the system can resolve its own hostname locally

  • Prevents Prosody and Jicofo errors


Verify hostname

hostname

Displays the current hostname to confirm the change.


Update packages again

apt update
apt upgrade

Ensures the system is fully updated after hostname changes.


Reboot the server

reboot

Applies hostname changes system-wide.

Reconnect via SSH after reboot.


Step 4: Install and Configure Firewall (UFW)

Jitsi requires multiple ports for signaling, media, and NAT traversal.

apt install ufw

Installs the Uncomplicated Firewall.


Allow required ports

ufw allow 22/tcp

Allows SSH access so you don’t lock yourself out.

ufw allow 80/tcp

Allows HTTP traffic (used by Nginx and Jitsi).

ufw allow 443/tcp

Allows HTTPS traffic.

ufw allow 10000/udp

Main Jitsi video/audio media port.

ufw allow 3478/udp

STUN/TURN (UDP) for NAT traversal.

ufw allow 5349/tcp

TURN over TCP (fallback for restricted networks).


Enable the firewall

ufw enable

Activates firewall rules.


Verify firewall status

ufw status numbered

Confirms all required ports are allowed.

Step 5: Install Java Runtime Environment

Jitsi components require Java to run.

apt install openjdk-17-jre-headless
  • Installs Java 17 runtime

  • Recommended version for Debian 12

Verify Java installation

java -version

Confirms Java is installed and working.

Select Java 17 (if multiple versions exist)

update-alternatives --config java

Ensures Jitsi uses Java 17.


Step 6: Add Jitsi Package Repository

apt install gnupg

Installs GPG for verifying package signatures.

Download and store the Jitsi signing key

curl -fsSL https://download.jitsi.org/jitsi-key.gpg.key \
| gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg
  • Downloads the official Jitsi GPG key

  • Stores it securely in the keyring

Verify the key

ls -lah /usr/share/keyrings/jitsi-keyring.gpg

Ensures the key file exists.

Add the Jitsi repository

echo "deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/" \
> /etc/apt/sources.list.d/jitsi-stable.list

Registers the official Jitsi repository.

Update package lists

apt update

Loads package metadata from the new repository.


Step 7: Install Jitsi Meet

apt install jitsi-meet

During installation:

  • Hostname: meet.example.com

  • SSL: Choose Generate a new self-signed certificate

The self-signed certificate is temporary and suitable for testing or internal use.


Step 8: Restart Jitsi Services

systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2
systemctl restart nginx

Ensures all Jitsi components load correctly.


Check service status

systemctl status prosody jicofo jitsi-videobridge2 nginx

All services should show active (running).


Step 9: Access Jitsi Meet

Open your browser and visit:

https://meet.example.com

You now have:

  • A self-hosted Jitsi Meet server

  • Running on Debian 12

  • Ready for private or internal video conferencing


Conclusion

You have successfully installed Jitsi Meet on Debian 12, configured the required hostname and firewall rules, installed all dependencies, and verified that all core services are running correctly.

This setup is suitable for:

  • Private meetings

  • Internal company communication

  • Self-hosted conferencing without third-party providers

Share this Doc

How to Install Jitsi Meet on Debian 12

Or copy link

CONTENTS