最近一直在研究jitsi-meet,之前在虚拟机本地搭建了一套已经好用了,现在尝试用docker去部署一套,同样也是踩了很多的坑,在网上查阅相关资料发现,大部分都是一样的(* ̄︿ ̄)!!!言归正传,以下是我自己在实际搭建过程当中总结出来的笔记,以虚拟机Ubuntu18.04为基础环境;(阿里云服务器我也尝试用同样的方法搭建过,一直是连不上的状态,可尝试重新构建)

这种情况可以尝试重新创建容器:

docker-compose -f docker-compose.yml -f jigasi.yml up -d --force-recreate

一、安装docker

#更新源到最新
apt-get update
#安装docker
apt-get install docker docker-compose -y
#启动docker
systemctl start docker
#开机启动docker
systemctl enable docker
#查看docker版本
docker version
#编辑文件/etc/docker/daemon.json添加国内镜像地址加速
vim /etc/docker/daemon.json

此时如果找不到daemon.json,应该是正常的,我们可以按照这个路径自己创建一个

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://9uxjn0e3.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
#修改完地址后重启docker
systemctl restart docker
#查看是否配置成功Registry Mirrors
docker info

二、安装docker-jitsi-meet镜像

#安装git
apt-get install git
#clone仓库代码
git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet
# 注意:官网是不建议直接拉取Git最新的源码的

#复制配置样例文件并设置环境参数,
cp env.example .env
vim .env
#修改.env配置文件
TZ=Asia/Shanghai
PUBLIC_URL="https://你的域名"

注意:官网是不建议直接git克隆最新的源码,他们提供了压缩包,下载压缩包解压得到工程后,进入工程,从拷贝env.example开始继续下一步操作

 

设置强密码一定不要落下这一步,否则后边容器是启动不了的,好信儿的可以试试,不设置这一步,后边启动容器的时候,看下容器的日志,里边有答案

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

#安装镜像(后面没有点,不知道有些后边带 . 的是怎么成功的,有知道的可以教教我)
docker-compose up -d

此时可以打开浏览器访问:https://IP地址或域名:8443

如果出现不能视频的情况

可以尝试在.env文件中增加:ENABLE_XMPP_WEBSOCKET=0       (随便放哪行都行)

如果出现3人及以上无法加入视频的情况(有可能会出现这种情况),可以尝试修改videobridge容器下的/etc/jitsi/videobridge/sip-communicator.properties文件,增加两行配置:

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<IP地址(没有https://)>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<没有域名也填IP地址(没有https://)>

这个文件是在视频桥的容器内部的,容器内不知道怎么编辑(有知道的小伙伴可以教教我),我是在容器外部,把这个文件cp出来的,编辑完了之后在cp回到容器内部

# docker cp 容器ID:容器内的路径 容器外的路径
docker cp 94869a2a6a28:/etc/jitsi/videobridge/sip-communicator.properties sip-communicator.properties

vim sip-communicator.properties

# 把文件拷贝回到容器内部
# docker cp 外部的路径 容器ID:容器内的路径
docker cp sip-communicator.properties 94869a2a6a28:/etc/jitsi/videobridge/sip-communicator.properties

这个配置在本地快速搭建时也需要

配置完成后最好重启一下

systemctl restart docker

这里面的几个容器,应该默认都是随docker服务自启动的,所以重启完docker服务之后

# 查看正在运行的容器
docker ps

 到此基于虚拟机Ubuntu18.04,使用docker安装部署jitsi-meet就可以正常访问了,如果需要配置证书的话,可以看看其他的帖子,我就不复制了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐