网络dockerdocker搭建开源视频会议Jitsi
Longans1.前言
2.docker部署
2.1安装docker
- 先安装docker和docker-compose,代码如下:
1 2 3 4
| wget -qO- get.docker.com | bash systemctl enable docker curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
|
- 限制docker日志并添加docker内部ipv6(可选,直接全部复制下面代码后一起粘贴到SSH的交互终端)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| cat > /etc/docker/daemon.json <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true
}
EOF
|
2.2安装jitsi
1 2 3
| sudo -i mkdir -p /root/docker/jitsi cd /root/docker/jitsi
|
- 进入/root/docker/jitsi目录后克隆github项目(就是通过cd /root/docker/jitsi进入目录)
1 2
| git clone https://github.com/jitsi/docker-jitsi-meet cd docker-jitsi-meet
|
- 复制docker-jitsi-meet中的env.example到.env (如果.env不存在则创建该名字的文件,并将env.example的内容复制粘贴到.env)
1 2 3
| sudo -i mkdir -p /root/docker/jitsi cd /root/docker/jitsi
|
- 进入/root/docker/jitsi目录后克隆github项目(就是通过cd /root/docker/jitsi进入目录)
1 2
| cp env.example .env ./gen-passwords.sh
|
- 后者./gen-passwords.sh用于生成.env中文本内容的随机密码,注意在通过SFTP访问文件.env,要勾选“显示隐藏的内容”,不然可能不会显示。
- 编辑.env文件(通过nano .env),需要编辑的内容如下,其余不变。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| CONFIG=/root/docker/jitsi(改为“创建安装目录”的实际路径)
HTTP_PORT(http端口,不能被其他程序占用)
HTTPS_PORT(https端口,不能被其他程序占用)
TZ,时区Asia/Shanghai
PUBLIC_URL,填写自己反代的域名,https://example.com 注意删除后面默认带的端口以及前面的注释块#
ENABLE_GUESTS=1,运行访客访问,这样不用注册
ENABLE_XMPP_WEBSOCKET=0,jvb和客户端是通过websocket连接的,保证10000的udp端口没有被占用
|
1 2 3
|
RESTART_POLICY=unless-stopped
|
- 然后在/root/docker/jitsi/docker-jitsi-meet 下运行
- 然后进行反代上面设置的http端口就可以通过域名进行TLS安全访问了,1panel或者宝塔面板反代的,可以给网站添加一个密码,让自己才能用(避免开会的时候外来人员进入)。

2.3 更新方法
- 这个项目后续会持续有更新,所以提供一个更新的方式。
1 2 3 4
| cd /root/docker/jitsi docker compose pull docker compose up -d docker image prune
|
1 2
| WARNING! This will remove all dangling images. Are you sure you want to continue? [y/N]
|
2.4 卸载方法
1 2 3 4
| cd /root/docker/jitsi docker compose down cd .. rm -rf /root/docker/jitsi
|
- 观察对应的名字,记录
IMAGE ID , 然后docker rmi IMAGE ID 进行删除。
- 例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| root@MEGABOX-PRO:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE registry.fit2cloud.com/halo/halo 2.21 4ff2b2b66ca4 5 months ago 434MB postgres 13-alpine 479196f38b24 7 months ago 274MB redis latest f1285ef3611d 7 months ago 137MB germannewsmaker/nexterm latest 15dbcdef965e 9 months ago 534MB ghcr.io/alexta69/metube latest cd7130a11fa5 12 months ago 292MB 1panel/openresty 1.21.4.3-3-3-focal 47fabb474247 21 months ago 667MB postgres 15.4 68a92c148701 2 years ago 411MB root@MEGABOX-PRO:~# docker rmi 4ff2b2b66ca4 Untagged: registry.fit2cloud.com/halo/halo:2.21 Untagged: registry.fit2cloud.com/halo/halo@sha256:11072358e90805562285e92001133e161f64f84d5840d67d72d6819b3dfb112c Deleted: sha256:4ff2b2b66ca40ee4d4169ae0a0046ee83f5e6d08bcceaedf4d3673d1e8975239 Deleted: sha256:0c0dc39400a7ca82e7ec1c0188875d039a7ff9c338dd249c1a7c37b449f73bff Deleted: sha256:fee0f503844c8e97e9152bb3eb19882b0e068b9e2610fe3bebbe9b84d54f2f58 Deleted: sha256:c11922e92b5944875ecae124fad2c1f02d10c0919f3e9a2d9f2936c56a8620f1 Deleted: sha256:ebbf77284b7d1bd7efe87025ee211e83b182848c914ef2979bb87aef46a91790 Deleted: sha256:fe1321453a34970e1d6d6b93cdeffc2e1fd189cca39ad406f224ae06425b65f0 Deleted: sha256:fcf18e4d78104587534b089e175ed7a2d9af10d20bc5cd1aac0785fb10348006 Deleted: sha256:90931dace4ef789a17e24c2ed2dd3e0bf9c20051bd0975d7c0a15a7098d18cef Deleted: sha256:bc84c6dbf5c73668d6a4f1223a7e2f9628b452cb1eb1ad96fc2ea67ba78407bb Deleted: sha256:a9f2a63e074c3337bb10f1b85db8e585e92723b08d6f9ceac5e5b74524b436d6 Deleted: sha256:073ec47a8c22dcaa4d6e5758799ccefe2f9bde943685830b1bf6fd2395f5eabc root@MEGABOX-PRO:~#
|
3.写在最后
- 🌱 此刻,你已经拥有:
- 一个 可控、稳定、开源 的视频会议系统
- 一套基于 Docker 的自动化部署环境
- 属于你自己的在线沟通与协作空间
“服务运行的那一刻,不只是端口开放,更是能力的延伸。”
🎊 恭喜你,Jitsi 部署完成!接下来,可以继续优化网络质量、接入反代安全策略,让它真正成为你自己的稳定服务 🚀