别再花钱买会议软件了!手把手教你用Docker在Ubuntu 24上免费搭建Jitsi Meet(含SSL证书配置和品牌定制)

张开发
2026/4/17 22:55:42 15 分钟阅读

分享文章

别再花钱买会议软件了!手把手教你用Docker在Ubuntu 24上免费搭建Jitsi Meet(含SSL证书配置和品牌定制)
私有化部署Jitsi Meet从零搭建企业级视频会议系统的完整指南在远程协作成为主流的今天视频会议系统已成为企业、教育机构和团队协作的标配。然而商业解决方案如Zoom、腾讯会议等往往存在订阅费用高昂、功能限制和数据隐私等问题。本文将带你从零开始在Ubuntu 24上使用Docker搭建一套完全自主可控的Jitsi Meet视频会议系统涵盖SSL证书配置、品牌深度定制等生产环境必备环节。1. 为什么选择自建Jitsi Meet商业视频会议软件通常按用户数或会议时长收费长期使用成本惊人。以某主流平台为例50人团队的年费支出可能高达数万元。而自建Jitsi Meet方案具有以下优势零持续成本一次性投入服务器资源后无额外费用完全数据自主所有会议数据保留在自有服务器无功能限制不受商业版参会人数、时长等约束深度定制可完全自定义界面、功能和工作流性能对比表特性商业方案自建Jitsi Meet最大参会人数通常≤300人取决于服务器配置会议时长限制40分钟-24小时无限制数据存储位置厂商服务器自有服务器年费50人团队¥5000-¥20000¥0品牌定制仅限Logo完全自定义2. 环境准备与依赖安装2.1 服务器基础配置推荐使用至少4核CPU、8GB内存的云服务器或物理机。以下操作基于Ubuntu 24.04 LTS# 更新系统并安装基础工具 sudo apt update sudo apt upgrade -y sudo apt install -y curl git nano ufw2.2 Docker引擎安装使用官方脚本快速安装Docker# 添加Docker官方GPG密钥 sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod ar /etc/apt/keyrings/docker.gpg # 设置仓库 echo \ deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release echo $VERSION_CODENAME) stable | \ sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装Docker sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 验证安装 sudo docker run hello-world2.3 Docker Compose安装# 下载最新版Docker Compose DOCKER_COMPOSE_VERSION$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d\ -f4) sudo curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod x /usr/local/bin/docker-compose # 验证版本 docker-compose --version3. Jitsi Meet部署实战3.1 获取官方Docker配置# 创建工作目录 mkdir -p ~/jitsi-meet cd ~/jitsi-meet git clone https://github.com/jitsi/docker-jitsi-meet.git cd docker-jitsi-meet3.2 环境配置复制并修改示例配置文件cp env.example .env ./gen-passwords.sh关键配置项说明# 基础配置 CONFIG~/jitsi-meet/config HTTP_PORT80 HTTPS_PORT443 TZAsia/Shanghai # 必须修改为你的域名 PUBLIC_URLhttps://meet.yourdomain.com # 启用访客模式无需登录 ENABLE_GUESTS1 # JVB媒体地址通常为服务器公网IP DOCKER_HOST_ADDRESSYOUR_SERVER_IP3.3 SSL证书配置使用Lets Encrypt免费证书# 安装Certbot sudo apt install -y certbot # 申请证书需提前解析域名 sudo certbot certonly --standalone -d meet.yourdomain.com # 配置证书路径 echo SSL_CERT/etc/letsencrypt/live/meet.yourdomain.com/fullchain.pem .env echo SSL_KEY/etc/letsencrypt/live/meet.yourdomain.com/privkey.pem .env3.4 启动服务docker-compose up -d服务启动后检查各容器状态docker-compose ps预期输出应显示所有服务状态为running。4. 高级定制与优化4.1 品牌深度定制Jitsi允许完全自定义界面元素不仅仅是替换Logo修改界面配置文件# 进入web容器 docker exec -it docker-jitsi-meet-web-1 bash # 备份原始配置 cp /config/interface_config.js /config/interface_config.js.bak修改interface_config.js中的关键参数// 欢迎页标题 APP_NAME: 企业专属会议系统, // 主Logo URL DEFAULT_LOGO_URL: images/custom-logo.svg, // 水印设置 WATERMARK: images/watermark.png, // 禁用不必要功能 DISABLE_VIDEO_BACKGROUND: true, DISABLE_RINGING: true自定义CSS创建/usr/share/jitsi-meet/css/custom.css添加/* 修改主题色 */ :root { --primary-color: #2B3A4B; --text-color: #333333; } /* 隐藏不需要的元素 */ .watermark { display: none !important; }4.2 性能优化配置调整.env中的性能参数# JVB视频桥接器配置 JVB_OPTS--apisrest,xmpp # 最大视频分辨率 RESOLUTION720p # 带宽限制 VIDEOQUALITY_BITRATE_HD1500000 VIDEOQUALITY_BITRATE_SD5000004.3 安全加固防火墙配置sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 10000/udp # JVB媒体端口 sudo ufw enable访问控制在.env中添加# 仅允许特定域名邮箱注册 ENABLE_AUTH1 AUTH_TYPEjwt JWT_APP_IDyour_app_id JWT_APP_SECRETyour_app_secret5. 维护与监控5.1 自动证书续期创建续期脚本/etc/cron.weekly/jitsi-cert-renew#!/bin/bash certbot renew --quiet --post-hook docker-compose -f ~/jitsi-meet/docker-jitsi-meet/docker-compose.yml restart赋予执行权限sudo chmod x /etc/cron.weekly/jitsi-cert-renew5.2 监控设置使用Prometheus监控Jitsi状态启用JVB的统计接口# 在.env中添加 ENABLE_STATISTICS1 STATS_SERVERprometheus://your-prometheus-server:9090关键监控指标jitsi_participants当前参会人数jitsi_conferences进行中的会议数jvb_bandwidth带宽使用情况5.3 备份策略定期备份关键数据# 备份配置 tar -czvf jitsi-backup-$(date %Y%m%d).tar.gz \ ~/jitsi-meet/config \ ~/jitsi-meet/docker-jitsi-meet/.env \ /etc/letsencrypt/live/meet.yourdomain.com6. 常见问题解决Q1视频卡顿或延迟高怎么办检查服务器带宽是否充足降低默认视频分辨率修改RESOLUTION启用TURN服务器处理NAT穿透Q2如何限制会议访问权限设置ENABLE_AUTH1启用认证配置LDAP或JWT集成企业账号系统使用ENABLE_LOCK_ROOM1允许主持人锁定会议Q3移动端兼容性问题确保使用HTTPS协议检查防火墙是否放行UDP 10000端口更新到最新版Jitsi Meet移动应用在实际部署中我们遇到过域名解析延迟导致服务启动失败的情况。解决方法是先在本地hosts文件临时添加解析记录待服务启动后再移除。另一个经验是对于50人以上的会议建议单独部署JVB组件以提高稳定性。

更多文章