Skip to main content
Jitsi
January 25, 2026

References

Jitsi

Prerequisites

  • A fresh Debian server (root or sudo access)
  • A domain name (e.g. meet.yourdomain.com) pointing to your server
  • Open ports: 80 (http), 443 (https), 10000/udp (media traffic)

Install Jitsi Meet

1
2
sudo apt update && sudo apt upgrade -y
sudo apt install -y default-jdk gnupg2 curl

Add Jitsi Repository

1
2
curl https://download.jitsi.org/jitsi-key.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/jitsi-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/" | sudo tee /etc/apt/sources.list.d/jitsi-stable.list

or create /etc/apt/sources.list.d/jitsi.sources file

1
sudo nano /etc/apt/sources.list.d/jitsi.sources
1
2
3
4
5
6
Types: deb
URIs: https://download.jitsi.org
Suites: stable/
Components:
Architectures: amd64
Signed-By: /usr/share/keyrings/jitsi-keyring.gpg

Add the GPG Key (required)

1
2
3
sudo mkdir -p /usr/share/keyrings
curl -fsSL https://download.jitsi.org/jitsi-key.gpg.key | \
  gpg --dearmor | sudo tee /usr/share/keyrings/jitsi-keyring.gpg > /dev/null

Update package list

1
sudo apt update

Install Jitsi

1
sudo apt install -y jitsi-meet

During installation:

  • Enter your domain (e.g. meet.yourdomain.com)
  • Choose: “Generate a new self-signed certificate” (temporary)

Install SSL (Let’s Encrypt)

1
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Enter your email. This will automatically configure HTTPS.

Configure Firewall (UFW example)

1
2
3
4
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp
sudo ufw enable

Optional - Enable Authentication (secure meetings)

Prosody config:

1
sudo nano /etc/prosody/conf.avail/meet.yourdomain.com.cfg.lua

Enable authentication:

1
2
VirtualHost "meet.yourdomain.com"
  authentication = "internal_hashed"

For guest access:

1
2
3
VirtualHost "guest.meet.yourdomain.com"
    authentication = "anonymous"
    c2s_require_encryption = false

Register user:

1
sudo prosodyctl register youruser meet.yourdomain.com 'yourpassword'

Jicofo settings (Tell Jicofo, login is mandatory):

1
2
3
4
5
6
7
jicofo {
  authentication: {
    enabled: true
    type: XMPP
    login-url: meet.yourdomain.com
  }
}

Jitsi config:

1
sudo nano /etc/jitsi/meet/meet.yourdomain.com-config.js

Add this

1
anonymousdomain: 'guest.meet.yourdomain.com',

Restart services:

1
2
3
sudo systemctl restart prosody
sudo systemctl restart jicofo
sudo systemctl restart jitsi-videobridge2

Access Jitsi

As admin:

  • Open your browser and go to: https://meet.yourdomain.com
  • Create a room named room1
  • Login popup will be appeared. Enter your username and password.

As guest:

Monitoring

  • Use at least 2 GB RAM (4 GB recommended for multiple users)
  • For production, consider TURN server (for NAT traversal)
1
sudo systemctl status jitsi-videobridge2