System Requirement
Here are the system requirements for the Jitsi voice chat setup described above, optimized for Docker Compose and Nginx Proxy Manager (NPM):
1. Hardware Requirements
| Component | Minimum (Small Setup) | Recommended (10+ Users) |
|---|---|---|
| CPU | 1-2 cores | 2-4 cores |
| RAM | 2 GB | 4 GB+ |
| Storage | 10 GB | 20 GB+ (SSD preferred) |
| Network | 10 Mbps upload | 50 Mbps+ upload |
- Voice-Specific Notes:
- Audio-only requires ~40 kbps per participant (using Opus codec).
- Example: 10 users ≈ 400 kbps (≈0.4 Mbps) bidirectional traffic.
2. Network Requirements
- Open Ports:
| Port | Protocol | Purpose |
|---|---|---|
80 |
TCP | HTTP traffic (NPM) |
443 |
TCP | HTTPS traffic (NPM) |
10000 |
UDP | Jitsi media traffic (mandatory) |
3478 |
UDP | STUN/TURN server (optional) |
- Bandwidth:
- Ensure low-latency network (ideally <100ms latency).
- Dedicated server/VM preferred (avoid shared hosting).
3. Software Requirements
-
Docker:
- Docker Engine ≥ 20.10.7
- Docker Compose ≥ 1.29.2
-
OS:
- Ubuntu 22.04 LTS / Debian 11 / CentOS 8 (64-bit recommended)
- Kernel ≥ 5.x
-
Dependencies:
- Nginx Proxy Manager (pre-configured)
- Git (to clone Jitsi’s repo)
4. Domain & SSL
- A domain name (e.g.,
meet.your-domain.com) pointing to your server’s IP. - SSL certificate (auto-configured via NPM’s Let’s Encrypt integration).
5. Optional but Recommended
- Swap Space: 2 GB+ (for memory spikes).
- Backups: Regular backups of the
~/.jitsi-meet-cfgdirectory. - Monitoring: Tools like
netdataorhtopto track resource usage.
6. Scalability Considerations
- For 50+ users:
- Use a dedicated media server (e.g.,
jitsi-jvbscaling). - Add load balancing (NPM can handle this).
- Upgrade to 8+ GB RAM and 4+ CPU cores.
- Use a dedicated media server (e.g.,
Key Notes
- Avoid running other resource-heavy services on the same machine.
- Use a static IP for your server.
- Test with 2-3 users first before scaling up.
This setup balances cost and performance for small-to-medium voice-focused deployments. Adjust based on your expected user count and uptime requirements.