1. 关于喧喧
1.1  关于喧喧聊天软件
1.2  喧喧的主要功能
1.3  喧喧的使用授权说明
1.4  喧喧技术架构实现方案
1.5  如何获得技术支持
2. 安装喧喧服务器
2.1. 一键安装包
2.1.1  Windows 一键安装包
2.1.2  Linux 一键安装包安装
2.2. 手动安装
2.2.1. 安装后端处理服务器(XXB)
2.2.1.1  源码包安装XXB(系统通用)
2.2.1.2  宝塔Nginx安装XXB
2.2.1.3  安装 ionCube 扩展
2.2.2. 安装消息中转服务器(XXD)
2.2.2.1  Windows 系统安装XXD
2.2.2.2  Linux 系统安装XXD
2.2.3. 安装桌面客户端(XXC)
2.2.3.1  Windows 系统安装XXC
2.2.3.2  macOS 系统安装XXC
2.2.3.3  Linux 系统安装XXC
2.2.4  使用禅道作为后端处理服务器
2.3  CentOS / Ubuntu 下安装 Docker
2.4  浏览器端安装客户端
2.5  防火墙开启喧喧使用端口
2.6  安装 Office 服务端
2.7. 安装音视频服务
2.7.1  安装OWT音视频服务端
2.7.2  安装 SRS 音视频服务端
2.7.3  安装Jitsi音视频服务端
3. 升级喧喧服务器和客户端
3.1. 升级后端处理服务器
3.1.1. XXB升级
3.1.1.1  源码包升级XXB(系统通用)
3.1.1.2  Windows 一键安装包升级XXB
3.1.1.3  Linux 一键安装包升级XXB
3.1.2  禅道升级
3.1.3  ZDOO协同升级
3.2  升级消息中转服务器(XXD)
3.3  升级喧喧客户端
3.4  升级喧喧浏览器端
4  常见错误处理

安装Jitsi音视频服务端

2024-08-06 17:16:06
汤倩倩
1935
最后编辑:张玉洁 于 2025-08-19 11:18:37
分享链接

Jitsi 部署

喧喧自 9.0 版本起使用 Jitsi 作为音视频会议服务器。需要额外的部署。

以下是具体的步骤:

  1. 下载 Docker 镜像包,并加载镜像。

    下载地址   https://dl.zentao.net/xuanmeet/xuanmeet-1.0.zip

unzip xuanmeet.zip
cd xuanmeet
ls -1 xuanmeet-*.tar.xz | xargs --no-run-if-empty -L 1 docker load -i 
            
  1. 编辑 env.xuan.example 文件

    • HTTP_PORT HTTP端口号8000,可根据情况使用默认80端口或其他端口。

    • HTTPS_PORT HTTPS端口号8443,可根据情况使用默认443端口或其他端口。

    • PUBLIC_URL 协议为HTTPS,端口不是443的情况下需要补上端口号。

    • XXB_URL 喧喧后台地址

    • WHITEBOARD_ENABLED 是否启用白板写作功能,默认开启。

    • JVB_ADVERTISE_IPS 如果音视频服务器在NAT后面,则需要填写这个环境变量。填写能访问到的服务器的IP地址,以逗号","作为分隔。

      docker方式部署必须配置该属性,否则无法使用桥接服务器进行多人音视频

      JVB_ADVERTISE_IPS=172.17.X.X,192.168.X.X # 第一个ip为docker容器所在的ip,第二ip为宿主机的局域网ip
    • JICOFO_MAX_MEMORY (可选)会议服务器内存限制,当人数超多(大于200人)且会议服务不稳定时可以考虑增大此选项。

    • VIDEOBRIDGE_MAX_MEMORY (可选)同上。

    • ENABLE_LETSENCRYPT (可选)是否启用 Let's Encrypt 签名服务。

      • LETSENCRYPT_DOMAIN 需要 Let's Encrypt 签名的域名。
      • LETSENCRYPT_EMAIL Let's Encrypt 签名的管理员邮箱

修改完成后

mv env.xuan.example .env 

(后续需 ls -a 查看 .env 文件,隐藏文件默认在linux下不可见。)

  1. 运行 ./gen-passwords.sh 脚本生成随机会议服务器密码

  2. (可选) 使用自己的 TLS 证书。

    会议服务必须要启用 HTTPS,如果不使用有效的 TLS 证书或者 Let's Encrypt 签名服务。则会议服务器会使用自签名证书,这会导致在网页端显示证书错误的提示,需要用户手动确认才能正确使用。

    如果要加载自己的证书可以在目录中新建 docker-compose.override.yml 文件。

    version: '3.5'
    services:
        web:
            volumes:
                - /example/cert.crt:/config/keys/cert.crt:Z
                - /example/cert.key:/config/keys/cert.key:Z 
    

    将 /example/cert.crt 和 /example/cert.key 替换成自己证书所在的路径。证书格式需满足 Nginx 的要求。

  3. 启动服务

    docker-compose.yml 所在目录运行

    docker compose up -d 
    

     

常见问题


部署成功后,加入会议提示断开连接

docker logs xuanmeet-web-1     # 查看web容器日志是否存在报错
docker logs xuanmeet-prosody-1 # 查看代理容器日志是否存在报错
  • 日志报错thread.c:76:isc_thread_create(): fatal error: pthread_create():Operation not permitted(1)

    解决方案:为所有容器开启特权模式运行。

    web:
        image: xuanmeet/web:1.0.1
        restart: ${RESTART_POLICY:-unless-stopped}
        privileged: true # 特权模式运行【重要】
        ···
    prosody:
        image: xuanmeet/prosody:1.0
        restart: ${RESTART_POLICY:-unless-stopped}
        privileged: true # 特权模式运行【重要】
        ···
    whiteboard:
        image: xuanmeet/whiteboard:1.0
        restart: ${RESTART_POLICY:-unless-stopped}
        privileged: true # 特权模式运行【重要】
        networks:
            meet.xuanxuan:
    jicofo:
        image: xuanmeet/jicofo:1.0
        restart: ${RESTART_POLICY:-unless-stopped}
        privileged: true # 特权模式运行【重要】
        ···
    jvb:
        image: xuanmeet/jvb:1.0
        restart: ${RESTART_POLICY:-unless-stopped}
        privileged: true # 特权模式运行【重要】
        ··· 
    
  • 日志报错ssl证书加载错误

    检查docker-compose.override.yml文件

    version: '3.5'
    services:
        web:
            volumes:
                - /example/cert.crt:/config/keys/cert.crt:Z
                - /example/cert.key:/config/keys/cert.key:Z 
    

    /example/cert.crt 需要是证书文件,不能是文件夹

    config/keys/cert.crt:Z 需要带上:Z

发表评论
评论通过审核后显示。
联系我们
社群交流