视频会议自由掌控!群晖Docker搭建Jitsi meeting避坑指南

2024-03-17 17:17:08 34点赞 192收藏 20评论

如今视频会议系统是平时经常要用到的,虽然现在国内国外都有很多的可选软件,但是国内可选的例如腾讯会议开始对免费用户进行包括但不限于限制会议时长/参会人数/投屏清晰度之类的操作(能想象讨论到关键时刻视频会议被掐断那种恶心的感觉吗),而在高墙之外的例如ZOOM之类也曾被曝光出现过大规模用户信息泄露,而且其实并不提供正式的墙内服务。在经过一些了解后,感谢互联网的开源精神,最终找到了jitsi-meeting这个开源的项目。

关于这个项目的详细情况和开源代码可以查阅:项目地址

经过对jitsi这个项目的了解,一下是比较喜欢的几个点:

  • 开源,且数据隐私性及安全性较好(参见:jitsi团队对于数据安全的回复

  • 功能较为齐全,相比主流会议平台功能上相差无几(但是缺少互动批注功能)

  • 易用,支持使用浏览器&APP进行会议

  • 项目比较成熟,Github上23Kstar且文档比较完善(有坑)

因此选择了在自己的群晖上通过docker进行部署,但是在部署过程中尽管参照了官方文档以及能查到的其它部署教程以及笔记,发现依然存在许多坑会导致部署失败&用不了,也没有相关的解决办法,所以希望这篇文章能帮助到一些同样不愿屈服于公司压迫的人(最近在玩2077)。

首先,官方的docker部署文档

其中在群辉上部署,与文档不一致的有:

步骤2

因为群晖自带没有uzip但是有7z,所以解压缩命令替换为:

7z x

步骤5

创建config目录使用按文档提供的命令,在启动容器的时候会报错。

提示缺少目录提示缺少目录

官方文档的命令不知道为什么少创建了一个目录,可能是更新了部分组件但是文档没有更新导致的。因此需要将命令替换为:

mkdir -p ~/.jitsi-meet-cfg/{web/crontabs,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}

然后启动容器的时候就不会报错了。

容器全部正常启动容器全部正常启动

注意:这里config的目录可以自己改(建议更改,因为这个根目录下不好找),但是改完要在env文件里同步更改config目录位置。

步骤6

启动容器的命令应该为:

docker-compose up -d

此外,还发现在成功启动了容器后进入网页会是黑屏状态,找了半天原因。最后通过查看日志发现是web服务容器的文件权限的问题。

cd ~/.jitsi-meet-cfg/web

打开容器的对应目录,发现是文件的权限设置问题。

容器没有对应文件的权限容器没有对应文件的权限

如果发现你的权限也是这样的话,请把config.js和interface_config.js这两个文件的权限改一下。我这里为了图省事,直接改了。

chmod 777 ~/.jitsi-meet-cfg/web

再次检查权限设置,已经添加了对应的权限了。

可以看到文件的权限已经设置好了可以看到文件的权限已经设置好了

可以看到这时候容器对于文件的权限有了,然后重启容器就可以发现jitsi-meeting的首页已经可以正常显示了。

如果进入会议,进行多人会议时提示:“桥接通道已断开连接,因此视频质量限制为最低设置”的话,那么你要检查一下你的10000号端口的UDP转发是否打开,因为视频数据的传输需要用到10000端口的UDP。

官网的jitsi网络拓扑图,可以看到视频数据是走10000端口的udp官网的jitsi网络拓扑图,可以看到视频数据是走10000端口的udp

几点补充:

1.其他很多教程都使用了nginx反代进行访问,实测非必须项。

2.大内网环境进行搭建的话,由于jitsi-meeting运行基于4个容器,执行手册第2步后请打开docker-compose.yml 查看jitsi/web,jitsi/prosody,jitsi/jicofo,jitsi/jvb 四个镜像的版本并拉取对应版本的镜像。

3.env文件的修改是必须的,但其他教程都写了本文就不再赘述。可以参阅什么值得买上其他人的教程:Docker 篇五:浏览器也能开视频会议?开源项目Jitsi Meet部署教程

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
20评论

  • 精彩
  • 最新
  • 你好,请教下,使用 docker 部署的话不容易二开了,可以使用非 docker 部署吗?全部以源代码的形式自己部署,这种就能二开了。

    校验提示文案

    提交
  • 用浏览器就能视频会议还确实挺少见的

    校验提示文案

    提交
    现在动不动就要装APP,还越做越大,就是为了抢流量。实际功能本身越来越不重视了,要不就是收费

    校验提示文案

    提交
    很多啊,试试tl-open-source/tl-rtc-file

    校验提示文案

    提交
    收起所有回复
  • docker-compose up -d 后报错Error response from daemon: driver failed programming external connectivity on endpoint jitsi-docker-jitsi-meet-c92026a-jicofo-1 (d419041039b0d60ff45a183c40eb9638378b8f1d869be9a20fb66f8d748f06e3): Error starting userland proxy: listen tcp4 127.0.0.1:8888: bind: address already in use
    请问这个错误怎么处理??

    校验提示文案

    提交
    换个端口试试

    校验提示文案

    提交
    另外你的ENV文件是不是没有改,这个要改的

    校验提示文案

    提交
    收起所有回复
  • 这个参会人数一多 你的上传带宽撑不住吧?你的cpu内存也撑不住吧

    校验提示文案

    提交
    多少人什么应用场景,开大会吗?带宽和CPU内存要求开发者手册有写,可以参考

    校验提示文案

    提交
    收起所有回复
  • 好文章,没想到这类东西现在既不是CSDN也不在知乎之类,都在张大妈,这篇是确实帮我解决了问题。顺便一说,官方文档到现在还是错误的
    docker compose up -d,这么长时间不修正,也是令人有点奇怪了

    校验提示文案

    提交
    我一开始发其他平台给我说内容涉及广告直接锁了,想想张大妈还给激励不如发张大妈。 [抽烟]

    校验提示文案

    提交
    收起所有回复
  • 想请教下,docker-compose up -d 报错,Error response from daemon: Get "去看看": net/http: request canceled (Client.Timeout exceeded while awaiting headers,下载全超市了,不知道这个镜像可以怎么下载呢?

    校验提示文案

    提交
    好像他们刚把docker官方源给封了,建议科学或是换源试试

    校验提示文案

    提交
    应该就是全封了,但是不知道是不是可以github下载代码,直接放进对应文件路径还是咋操作,这个不会,但是github目前还是可以上的。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 楼主你好,我一直想在我的群晖nas上搭建这个会议系统,但是由于是小白,尤其你提到的【你要检查一下你的10000号端口的UDP转发是否打开】,这么怎么操作?
    还有就是镜像下载超时,不知道群晖怎么科学上网...

    校验提示文案

    提交
    科学上网不能谈,docker镜像可以自己下好就行;UDP转发是你要外网访问的话得把路由器的端口转发设置好,进路由器里设置就行。

    校验提示文案

    提交
    楼主,我的安装的是黑群晖,没有公网IP,目前是使用【SAKURA FRP】做的内网穿透,10000的UDP端口是能映射,但是映射的都是随机的端口,这样可以吗?还是必须得映射10000端口呢?

    校验提示文案

    提交
    收起所有回复
  • 有学到,不错

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
挂件

grafspee

Ta还没有介绍自己

关注 打赏
最新文章 热门文章
192
扫一下,分享更方便,购买更轻松