20241023 Tencent Meeting Reduces Free Duration Again, Now Only 40 Minutes in the Future
This article is transcoded by 简悦 SimpRead, original address blog.laoda.de
After the pandemic ends, Tencent Meeting can only be used for free for 60 minutes. Sometimes when the meeting is longer, it has to be restarted, which is quite frustrating.
After the pandemic ends, Tencent Meeting can only be used for free for 60 minutes. Sometimes when the meeting is longer, it has to be restarted, which is quite frustrating.
In this issue, we will set up a free and open-source video conferencing project—jitsi Meet. It is a locally deployed, securely encrypted video conferencing server-side script that supports multi-party meetings. It is similar to Zoom. Ready to use instantly, guests can start a video conference without registration.
![]()
- Introduction
Jitsi is an open-source video conferencing service that allows users to conduct real-time audio and video calls, text chat, and screen sharing functions over the internet. Jitsi Meet is a subproject of the Jitsi project, focusing on providing a simple and easy-to-use online meeting solution. Its main advantages include:
- Open Source and Free: Jitsi Meet is completely open source, users can use it for free and even customize and develop it according to their own needs.
- Privacy Protection: Jitsi Meet supports end-to-end encryption to ensure privacy and security during calls.
- No Client Installation Required: Users only need to use a modern browser to access the Jitsi Meet URL to join or create video conferences without installing any client software.
- Cross-platform Compatibility: Jitsi Meet supports various operating systems and devices, including Windows, macOS, Linux, Android, and iOS.
- High-quality Audio and Video: Uses advanced audio and video codec technology to ensure clear and stable call quality.
- Rich Features: In addition to basic audio and video call features, Jitsi Meet also offers screen sharing, meeting recording, real-time subtitles, and other practical functions.
- Project Showcase
![]()
![]()
![]()
![]()
- Related Links
Official GitHub: https://github.com/jitsi/jitsi-meet
Official Documentation: https://jitsi.github.io/handbook/docs/intro/
- Deployment Environment
- Server: Here uses iON server, Los Angeles $68/year plan (purchase link). It is recommended to have at least 2G memory, greater bandwidth, and faster network lines (you can also choose Tencent Cloud Light Application Server).
- System: Debian 11 (DD script is not required, you can use your original system, the tutorial uses Debian or Ubuntu for deployment~)
- Docker and Docker-compose installed (related script)
- [Required] One domain name, and proper DNS resolution to the server (domain purchase, domain resolution video tutorial)
- [Optional] Pre-installed overseas version of aapanel (BaoTa panel), with Nginx installed (installation)
- [Optional for this tutorial] Nginx Proxy Manager installed (related tutorial)
For this deployment, try to choose a server with good network and large bandwidth; otherwise, the meeting will be laggy. It is also recommended to buy a domain name for access.
![]()
- Deployment Videos
5.1 YouTube
Video link: https://youtu.be/TM0RP2z6sw0
5.2 Bilibili
Bilibili: https://www.bilibili.com/video/BV1fJ4m1e7No/
- Deployment Methods
If you are not using Tencent Cloud Light Application Server, you can skip to section 6.1.
Install System (Tencent Cloud Light Application Server)
![]()
The biggest feature of Tencent Cloud light server is “lightweight”, more suitable for beginners than CVM. Here we choose the Docker base image to skip the later step of installing Docker ~(If you insist on using a domestic server, the installed Docker image will also configure domestic image sources to speed up Docker image access)~ It is not recommended to use domestic servers.
Login (Tencent Cloud Light Application Server)
![]()
6.1 Install Docker and Nginx Proxy Manager
You can refer directly to this article:
https://blog.laoda.de/archives/nginxproxymanager/
6.2 Create Installation Directory
Create the installation directory:
sudo -i
mkdir -p /root/data/docker_data/jitsi
cd /root/data/docker_data/jitsi
Pull the Jitsi Meet project files and enter the project directory:
git clone https://github.com/jitsi/docker-jitsi-meet
cd docker-jitsi-meet
Copy the configuration file and then generate keys automatically
cp env.example .env
./gen-passwords.sh
Edit the configuration file
vim .env
The configuration file is quite long; just modify the following items:
![]()
-
CONFIG=/root/data/docker_data/jitsi, just change it to this path -
HTTP_PORTI wrote8011, in fact, any unused port on the server is fine -
HTTPS_PORTsame as above -
TZthis is the timezone, for Mainland China usuallyAsia/Shanghai -
PUBLIC_URLthis should be the deployed address (since https is used, it’s better to buy a domain to bind, namesilo sells xyz domains with 6-digit numbers for only 7 yuan per year, no real-name required) -
ENABLE_GUESTS=1enables guest access, so no registration needed, just join the meeting via the link -
ENABLE_XMPP_WEBSOCKET=0jvb and client connect via websocket
In English input mode, press i to edit, after finishing, press esc then type :wq to save and exit.
6.3 Open Server Firewall (Optional) and Access Webpage
Open ports 8011(tcp), 9443(tcp), 10000(udp)
For example, Tencent Cloud opening method is as follows (some providers do not have a built-in firewall panel, so skip this step if none):
![]()
Like in the pictures, fill in 8011, name it jitsi, confirm it (if you changed the port to 9009 in docker-compose, fill 9009 here accordingly).
![]()
Check whether the port is occupied (taking 8011 as example), input:
lsof -i:8011 # Check if port 8011 is occupied; if yes, choose another port
If nothing appears, the port is free, continue with the following operations~
If it shows:
-bash: lsof: command not found
Run:
apt install lsof # Install lsof
If the port is occupied (change it, e.g., to 8381, note to update the port in docker commands and firewall)
6.4 Start jitsi
cd /root/data/docker_data/jitsi/docker-jitsi-meet
docker compose up -d
Wait for images to be pulled until showing done,
In theory, you can then access http://ip:8011.
But first, we must set up a reverse proxy!
![]()
You need a domain for reverse proxy!
namesilo domains with xyz suffix cost only 7 yuan a year, can be annual.
(Trivia: xyz 6-digit domains on namesilo renew for 0.99 USD = =)
If you want long term use, it is suggested to buy a .com domain, which looks more professional. You can enter laodade to get a 1 USD discount (not sure if it still works).
namesilo includes privacy protection. I have been using it; their prices are among the lowest in registrar market. Importantly, unlike others, they have no funny tricks! (Though their backend UI is a bit~ ugly~ and old-fashioned = =)
Let’s continue!
- Reverse Proxy
7.1 Using Nginx Proxy Manager
Before adding reverse proxy, ensure domain resolution is done properly. If not sure, see: One domain with proper DNS resolution (Domain purchase and resolution Video tutorial)
![]()
Then, login to Nginx Proxy Manager (if unsure, see: Install Nginx Proxy Manager (Related tutorial))
Note:
Nginx Proxy Manager (NPM) uses ports
80and443, so these ports must not be occupied on this machine (e.g., previously installed Nginx)
Some screenshots:
![]()
Remember to fill in the corresponding
Domain,IP, andPort. According to the tutorial, it should be9443.
IP filling:
If Nginx Proxy Manager and wallos are on the same server, you can run in terminal:
ip addr show docker0
To see the Docker container internal IP.
![]()
Otherwise, just fill in the server IP where jitsi is located.
7.2 Using BaoTa Panel
Many users are used to BaoTa Panel, here is a reverse proxy config example:
Create a new site, no database, no PHP, pure static is OK.
Then open the following configuration and modify the Nginx configuration.
![]()
Code as follows:
location / {
proxy_pass https://127.0.0.1:9443/; # Remember to change to your actual port
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade-Insecure-Requests 1;
proxy_set_header X-Forwarded-Proto https;
}
This method works for 90% of reverse proxies, so then you can access using a domain name.
Some may ask why not use BaoTa’s built-in reverse proxy feature directly.
![]()
It is possible, but I encountered errors when multiple websites needed reverse proxy set here = =
So I stopped using it, and now use the above method.
- Usage Tutorial
It is recommended to watch the videos or try it yourself.
8.1 Update jitsi
cd /root/data/docker_data/jitsi/docker-jitsi-meet
git pull
docker-compose pull
docker-compose up -d # Please do not stop the container with docker-compose stop because it requires additional waiting; docker-compose up -d automatically stops and immediately recreates containers when upgrading, saving time.
docker image prune # prune command deletes unused docker objects; deletes all dangling images not tagged or used by containers
Prompt:
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]
Enter y
Updating Docker-based applications is very easy~
8.2 Uninstall jitsi
Similarly, enter installation folder, stop all containers first.
cd /root/data/docker_data/jitsi/docker-jitsi-meet
docker-compose down
cd ..
rm -rf /root/data/docker_data/jitsi # Completely delete
You can uninstall it very cleanly.
- Frequently Asked Questions and Notes
- Popup prompts in the lower-left corner say “Video quality degraded, tunnel disconnected, video quality limited to lowest”
![]()
Jitsi Videobridge (JVB)—a WebRTC-compatible server that routes video streams among meeting participants. By default, jvb listens on UDP port 10000. If the port is occupied or not open, routing will fail, and video cannot be transmitted.
So remember to open port 10000.
Others can discuss in comments.
- Conclusion
Wish everyone happy usage! If you have any issues, you can raise Issues on GitHub or discuss them in the comment area.
Also, contributors capable of the project are welcome to actively join the project and contribute their strength!
Finally, thanks to all developers’ hard work, allowing us to use such an excellent project!