828华为云征文|华为云Flexus X实例docker部署Jitsi构建属于自己的音视频会议系统

828华为云征文|华为云Flexus X实例docker部署Jitsi构建属于自己的音视频会议系统

  • 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧!

什么是华为云Flexus X实例

  • 华为云Flexus X实例云服务是新一代开箱即用、体验跃级、面向中小企业和开发者打造的高品价比云服务产品。
  • Flexus云服务器X实例是新一代面向中小企业和开发者打造的柔性算力云服务器,可智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等中低负载场景。

开始接触华为云Flexus云服务器X实例

  • 获取华为云Flexus云服务器X实例后第一步就是先去华为云上重置服务器密码

  • 重置完毕后用ssh工具登录华为云服务器,这里我用的是finalshell,也可以用其他工具登陆比如xshell或者Putty都可以

  • 登录上去查看硬盘大小,可以看到是100g硬盘,硬盘总大小是正常的

    root@flexusx-ebe8:~# df -h
    Filesystem Size Used Avail Use% Mounted on
    tmpfs 1.2G 1.1M 1.2G 1% /run
    /dev/vda1 99G 4.2G 90G 5% /
    tmpfs 5.7G 0 5.7G 0% /dev/shm
    tmpfs 5.0M 0 5.0M 0% /run/lock
    tmpfs 1.2G 4.0K 1.2G 1% /run/user/0

  • 然后输入 ufw status可以看到默认防火墙是关闭的,因此我们就不需要额外再去配置端口开放相关的配置,只要在华为云安全组配置端口开放就可以了

    root@flexusx-ebe8:~# ufw status
    Status: inactive

docker环境的安装

  • 如图所示,把离线包传到服务器上,进行安装

    dpkg -i *.deb

  • 查看安装的docker版本

    root@flexusx-ebe8:/home/docker# docker -v
    Docker version 27.1.2, build d01f264

  • 至此docker容器环境安装完毕

docker-compose安装

  • docker容器安装完毕后,开始安装docker-compose

  • https://github.com/docker/compose/tags离线下载docker-compose的包

  • 因为我是x86-64的环境,所以从中找到docker-compose-linux-x86_64进行下载

  • 下载完毕后上传到服务器,然后执行 sudo cp -f docker-compose-linux-x86_64 /usr/local/bin/docker-compose

  • 然后授予可执行权限,sudo chmod +x /usr/local/bin/docker-compose

  • 查看docker-compose版本

    root@flexusx-ebe8:/# sudo docker-compose -v
    Docker Compose version v2.29.2

  • 这样docker-compose就安装完毕了

什么是Jitsi

  • Jitsi 是一个开源的音视频会议系统,旨在提供高质量、实时的视频和音频通讯。它的核心功能包括视频会议、音频通话、屏幕共享、实时聊天等,支持多个用户同时参与。Jitsi 的开源特性使得它在隐私、可定制性和灵活性方面比很多商业视频会议解决方案更具优势。

Jitsi 的主要功能

  • 视频会议:支持高清、多人参与的视频会议,性能强劲。
  • 音频通话:清晰的音频通话质量,适合多人会议和私人通话。
  • 屏幕共享:允许与会者分享他们的桌面或应用窗口,适用于远程协作和演示。
  • 实时聊天:内置文字聊天功能,可以在会议中发送消息。
  • 会议录制:支持会议的录制(需要与 Jibri 组件集成)。
  • 安全保障:支持端到端加密,确保会议内容的安全性和隐私性。
  • 无客户端需求:基于 WebRTC 技术,用户可以直接通过浏览器参与会议,无需安装额外软件。
  • 移动应用:提供 iOS 和 Android 版的移动应用程序,方便用户随时随地参与会议。

Jitsi安装

  • 服务器输入 wget $(curl -s https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep 'zip' | cut -d\" -f4)

    root@flexusx-ebe8:/home/docker/jitsi# wget $(curl -s https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep 'zip' | cut -d" -f4)
    --2024-09-11 15:51:31-- https://api.github.com/repos/jitsi/docker-jitsi-meet/zipball/stable-9646
    Resolving api.github.com (api.github.com)... 20.205.243.168
    Connecting to api.github.com (api.github.com)|20.205.243.168|:443... connected.
    HTTP request sent, awaiting response... 302 Found
    Location: https://codeload.github.com/jitsi/docker-jitsi-meet/legacy.zip/refs/tags/stable-9646 [following]
    --2024-09-11 15:51:32-- https://codeload.github.com/jitsi/docker-jitsi-meet/legacy.zip/refs/tags/stable-9646
    Resolving codeload.github.com (codeload.github.com)... 20.205.243.165
    Connecting to codeload.github.com (codeload.github.com)|20.205.243.165|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: unspecified [application/zip]
    Saving to: 'stable-9646'

    stable-9646 [ <=> ] 356.14K 1.06MB/s in 0.3s

    2024-09-11 15:51:33 (1.06 MB/s) - 'stable-9646' saved [364683]

  • 解压 unzip stable-9646

  • 进入解压后的文件夹,查看文件

    root@flexusx-ebe8:/home/docker/jitsi/jitsi-docker-jitsi-meet-1797ac8# ls
    base docker-compose.yml examples jibri jigasi LICENSE Makefile prosody resources
    base-java env.example gen-passwords.sh jibri.yml jigasi.yml log-analyser prometheus README.md web
    CHANGELOG.md etherpad.yml grafana.yml jicofo jvb log-analyser.yml prometheus.yml release.sh whiteboard.yml

  • 通过复制和调整来创建文件env.example,输入cp env.example .env

  • 通过运行gen-passwords.sh 脚本在文件的安全部分选项中设置强密码, 执行 ./gen-passwords.sh

  • 创建config文件夹, mkdir -p ~/.jitsi-meet-cfg/{web,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}

  • 执行docker-compose up -d,启动服务

    root@flexusx-ebe8:/home/docker/jitsi/jitsi-docker-jitsi-meet-1797ac8# docker-compose up -d
    WARN[0000] /home/docker/jitsi/jitsi-docker-jitsi-meet-1797ac8/docker-compose.yml: the attribute version is obsolete, it will be ignored, please remove it to avoid potential confusion
    [+] Running 2/20
    ⠋ jicofo [⠀⠀⠀] Pulling 8.0s
    ⠴ 09b9b4aae3cd Waiting 4.6s
    ⠴ 443993b6bb63 Waiting 4.6s
    ⠴ 1932e670f11f Waiting 4.6s
    ⠋ web [⠀⠀⠀] Pulling 8.0s
    ⠸ b3db3cf051a2 Waiting 4.4s
    ⠸ 7418ce87c737 Waiting 4.4s
    ⠸ b9ab339cf963 Pulling fs layer 4.4s
    ⠋ prosody [⠀⣿⠀⣿⠀⠀⠀⠀] Pulling 8.0s
    ⠦ efc2b5ad9eec Retrying in 4 seconds 4.6s
    ✔ 8b3973c9358f Download complete 2.1s
    ⠦ 6551d279813e Retrying in 3 seconds 4.6s
    ✔ 4f4fb700ef54 Download complete 3.6s
    ⠦ 33d1be951f3b Waiting 4.6s
    ⠦ aa251754683e Waiting 4.6s
    ⠦ 7bbb699ede75 Waiting 4.6s
    ⠦ 8d4ab81b2898 Waiting 4.6s
    ⠋ jvb [⠀⠀] Pulling 8.0s
    ⠸ 8a5ef495b9b8 Waiting 4.4s
    ⠸ 454a67a8ca66 Pulling fs layer

  • 启动完毕后查看运行状态

    root@flexusx-ebe8:/home/docker/jitsi/jitsi-docker-jitsi-meet-1797ac8# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    c60c5644dab1 jitsi/web:stable-9646 "/init" 41 seconds ago Up 40 seconds 0.0.0.0:8000->80/tcp, :::8000->80/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp jitsi-docker-jitsi-meet-1797ac8-web-1
    0c8775add81e jitsi/jicofo:stable-9646 "/init" 41 seconds ago Up 40 seconds 127.0.0.1:8888->8888/tcp jitsi-docker-jitsi-meet-1797ac8-jicofo-1
    b8d2179e5e4b jitsi/jvb:stable-9646 "/init" 41 seconds ago Up 40 seconds 127.0.0.1:8080->8080/tcp, 0.0.0.0:10000->10000/udp, :::10000->10000/udp jitsi-docker-jitsi-meet-1797ac8-jvb-1
    1e442e3bc909 jitsi/prosody:stable-9646 "/init" 45 seconds ago Up 40 seconds 5222/tcp, 5269/tcp, 5280/tcp, 5347/tcp jitsi-docker-jitsi-meet-1797ac8-prosody-1

  • 此时docker部署Jitsi完毕,但还需要去华为云安全组开放端口

配置Flexus云服务器X实例安全组

  • 经过上面部署srs服务,这时候服务是已经部署完毕了,但是我们还没法通过外网进行访问,还需要对Flexus云服务器X安全组的配置进行修改

  • 进入安全组的配置页面

  • 新建安全组

  • 这里我们开放30080,30081,30082端口

  • 然后加入新建的安全组

  • 这样我们的实例的端口也就开放成功了

开始使用Jitsi

  • 访问页面 https://弹性公网ip:8443/

  • 查看一下配置

  • 也可以背景替换,虚化

  • 创建会议加入会议

  • 至此华为云Flexus X实例docker部署Jitsi构建属于自己的音视频会议系统完毕

欢迎大家一起加入华为云!

相关推荐
追风林4 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
城南vision6 小时前
Docker学习—Docker核心概念总结
java·学习·docker
wclass-zhengge6 小时前
Docker篇(Docker Compose)
运维·docker·容器
我喜欢就喜欢8 小时前
基于qt vs下的视频播放
开发语言·qt·音视频
安步当歌9 小时前
【WebRTC】视频采集模块中各个类的简单分析
音视频·webrtc·视频编解码·video-codec
EasyGBS10 小时前
国标GB28181公网直播EasyGBS国标GB28181软件管理解决方案
大数据·网络·音视频·媒体·视频监控·gb28181
梦魇梦狸º10 小时前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github
鬼才血脉10 小时前
docker+mysql配置
mysql·adb·docker
詹姆斯爱研究Java10 小时前
Docker 的基本概念和优势
docker
南猿北者12 小时前
docker镜像仓库常用命令
运维·docker·容器