Jitsi Meet on Ubuntu 24.04
(Self-Hosted Video Conferencing + Nginx + SSL)
Jitsi Meet is a powerful, open-source video conferencing platform that enables secure audio and video meetings directly in the browser — without requiring user accounts or proprietary software. It supports HD video, screen sharing, chat, meeting recording, moderation controls, and end-to-end encryption (E2EE), making it a strong alternative to Zoom, Google Meet, or Microsoft Teams.
Unlike commercial SaaS video platforms, Jitsi Meet can be fully self-hosted, giving you complete control over meeting data, media traffic, and user access. This makes it ideal for organizations that value privacy, compliance, and infrastructure ownership.
Running Jitsi Meet on Ubuntu 24.04 LTS (Noble Numbat) provides a modern, secure, and long-term supported operating system. Ubuntu 24.04 includes systemd 255, OpenSSL 3, and up-to-date networking components, making it an excellent base for a production-grade, self-hosted video conferencing server.
Architecture Overview
| Layer | Component | Role |
|---|---|---|
| OS | Ubuntu 24.04 LTS | Stable, long-term supported Linux base |
| Web Server | Nginx | HTTPS termination and web access |
| Application | Jitsi Meet (Web UI) | Browser-based meeting interface |
| Media Server | Jitsi Videobridge | Handles audio/video streams |
| Signaling | Prosody + Jicofo | Authentication, room control, signaling |
| Transport | UDP / TCP | Real-time media transport |
| TLS | Let’s Encrypt / PKI | Encrypted connections |
Jitsi uses a modular architecture, allowing it to scale from small private meetings to large multi-participant conferences.
Why Use Jitsi Meet?
- Open-source & self-hosted – no vendor lock-in
- No user accounts required – join meetings via simple links
- High-quality video & audio – WebRTC-based
- Screen sharing & chat – built-in collaboration tools
- Meeting moderation – lobby, passwords, participant controls
- End-to-end encryption (E2EE) – optional enhanced privacy
- Mobile & desktop support – works in all modern browsers
- Scalable architecture – suitable for teams or organizations
Jitsi Meet is ideal for users who want private, secure video conferencing without SaaS dependencies.
Jitsi Meet vs Other Video Conferencing Platforms
| Feature / Capability | Jitsi Meet | Zoom | Google Meet | Microsoft Teams |
|---|---|---|---|---|
| Hosting | Self-hosted | Cloud only | Cloud only | Cloud only |
| Open-source | ✅ Yes | ❌ No | ❌ No | ❌ No |
| Data ownership | Full control | Vendor-controlled | Vendor-controlled | Vendor-controlled |
| Accounts required | ❌ No | ✅ Yes | ✅ Yes | ✅ Yes |
| E2EE | ✅ Yes | Partial | Partial | Partial |
| Cost | Free (self-hosted) | Free / Paid | Free | Paid |
Jitsi stands out for privacy, flexibility, and infrastructure control.
Security & Best Practices on Ubuntu 24.04
- Run Jitsi only over HTTPS.
- Use Let’s Encrypt SSL certificates with automatic renewal.
- Open required ports:
- 443 TCP (HTTPS)
- 10000 UDP (media traffic)
- Optional fallback ports (TCP 4443 / 5349)
- Enable UFW firewall and restrict unused ports.
- Set strong room moderation (passwords, lobby).
- Keep Ubuntu and Jitsi packages updated regularly.
- Monitor CPU, RAM, and bandwidth usage.
- Use a dedicated domain or subdomain (e.g.
meet.example.com). - Enable rate limiting and headers in Nginx.
- For larger deployments, consider horizontal scaling with multiple videobridges.
Typical Use Cases
- Team meetings and daily stand-ups
- Private business calls
- Remote education and training
- Internal company conferencing
- Privacy-focused organizations
- Self-hosted alternatives to Zoom or Meet
- Government, NGO, or compliance-sensitive environments
Step 1: Create a Server Instance on Shape.Host
Before installing Jitsi Meet, you need a VPS with a public IP address.
Log in to https://shape.host
Click Create → Instance

Choose a data center close to your users

Select a plan with at least:
2 CPU cores (4 recommended for multiple participants)
4 GB RAM
40 GB SSD storage
Choose Ubuntu 24.04 (64-bit) as the operating system

Create the instance and wait for provisioning

Copy the public IP address of your server

Step 2: Connect to the Server (Linux, macOS & Windows)
Linux / macOS
ssh root@YOUR_SERVER_IP
Windows (PowerShell / Windows Terminal)
ssh root@YOUR_SERVER_IP
Windows (PuTTY)
- Host Name:
YOUR_SERVER_IP - Port:
22 - Connection type:
SSH - Username:
root
Once connected, you should see a root shell prompt.
Step 3: Update the Operating System
apt update
- Updates the local package index
apt upgrade -y
- Installs all available security and system updates
- Ensures compatibility with Jitsi dependencies

Step 4: Set the Hostname (Critical for Jitsi)
Jitsi requires a valid fully qualified domain name (FQDN).
hostnamectl set-hostname ubuntu-tutorials.shape.host
Sets the system hostname permanently
Edit the hosts file:
nano /etc/hosts
Add or update (replace IP accordingly):
127.0.0.1 localhost
YOUR_SERVER_IP meet.example.com
This ensures local hostname resolution works correctly.

Verify hostname:
hostname

Refresh system state:
apt update
apt upgrade

Reboot to fully apply hostname changes:
reboot
Reconnect via SSH after reboot.
Step 5: Configure Firewall (UFW)
Jitsi requires several ports for media, signaling, and TURN/STUN.
ufw allow 22/tcp
- Allows SSH access
ufw allow 80/tcp
ufw allow 443/tcp
- Allows HTTP and HTTPS traffic
ufw allow 10000/udp
- Main Jitsi video/audio media port
ufw allow 3478/udp
- STUN/TURN (media traversal)
ufw allow 5349/tcp
- TURN over TCP (fallback for restricted networks)
Enable firewall:
ufw enable

Check status:
ufw status

Step 6: Install Java and Core Dependencies
Jitsi components require Java.
apt install gnupg2 curl apt-transport-https openjdk-11-jre-headless
openjdk-11-jre-headless→ Required for Jicofo & Videobridgegnupg2,curl→ Needed for repository verification

Verify Java:
java -version

Step 7: Add Jitsi Repository
Import Jitsi GPG key:
curl https://download.jitsi.org/jitsi-key.gpg.key | gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg
Add 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
Update package list:
apt update

Step 8: Install Jitsi Meet
apt install jitsi-meet

During installation you will be prompted:
Hostname
meet.example.com
SSL certificate
Generate a new self-signed certificate
This certificate is temporary and will be replaced with Let’s Encrypt in the next step.

Step 9: Enable Let’s Encrypt SSL
Install Certbot:
apt install certbot

Run Jitsi’s built-in SSL installer:
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
This script:
- Requests a Let’s Encrypt certificate
- Automatically configures Jitsi + Nginx
- Sets up auto-renewal


Step 10: Restart Jitsi Services
systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2
systemctl restart nginx

Check service status:
systemctl status prosody jicofo jitsi-videobridge2 nginx
All services should be active (running).
Step 11: Access Jitsi Meet
Open your browser:
https://meet.example.com
You now have:
- A fully self-hosted Jitsi Meet instance
- Secured with Let’s Encrypt SSL
- Ready for private video conferences

You have installed Jitsi Meet on Ubuntu 24.04, configured the required networking and firewall rules, and secured the platform with HTTPS. This setup is suitable for private meetings, internal company calls, or public conferencing—without relying on third-party services.
For hosting real-time communication platforms with reliability, performance, and full root access, Shape.Host Linux SSD VPS provides a solid and scalable foundation for production deployments.