音视频通话作为一种关键的交流手段,其应用范畴愈发广泛。然而,于某些特殊场景中运用现有的音视频通讯工具,或许会存在一定的限制与风险,正因如此,自建音视频聊天的需求逐步凸显。
Briefing 是一个在 Github 中斩获 1.4k Star 的开源项目,能够提供安全的直接视频群组聊天体验。在这个极为注重隐私的时代,它仅仅运用 WebRTC 等开放技术,与所有现代浏览器兼容,无需额外安装软件。
图片PC&手机效果
主要特性
视频聊天:支持高质量的视频通话,为用户打造了如同面对面般清晰流畅的交流场景
桌面共享:用户可以便捷地分享他们的桌面,这一功能在远程协作、教学演示等场景中发挥着巨大作用。
文本聊天:提供文本聊天功能,满足了用户在某些不便于语音或视频交流时的需求。
简易邀请链接:用户可以轻松邀请他人加入聊天,这一便捷的方式使得交流的范围能够迅速扩大。
开源和可定制性:开发者可以根据需求修改源代码,或通过简单的配置进行定制。
安装教程
前言
本次安装教程将分别使用:Docker CLI、Docker-Compose、以及源码编译部署等方式进行搭建,所有的操作均在CentOS7中完成,由于浏览器的限制,我们还需要使用nginx和SSL证书来保证服务器的运行正常。
安装Docker
1、打开终端,并输入以下命令更新系统:
sudo yum update
2、安装Docker的依赖软件包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3、添加Docker的官方软件仓库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、安装Docker:
sudo yum install docker-ce
5、启动Docker服务:
sudo systemctl start docker
6、设置Docker在系统启动时自动启动:
sudo systemctl enable docker
使用Docker CLI部署
1、拉取镜像:
docker pull holtwick/briefing
2、创建容器:
docker run -d \
--name briefing \
-v ~/briefing/data:/app/data \
-p 8080:8080 \
--restart always \
holtwick/briefing
使用Docker-compose
1、安装docker-compose命令:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2、给予权限:
sudo chmod +x /usr/local/bin/docker-compose
3、创建docker-compose.yml文件,并写入以下内容:
services:
briefing:
image: holtwick/briefing
restart: always
volumes:
- /datar/briefing/data:/app/data
ports:
- 8080:8080
4、启动服务:
docker-compose up -d
源码编译
1、下载源码:
git clone https://github.com/holtwick/briefing.git
2、运行:
npm install
npm run start
3、编译&运行:
npm run build
node dist/main.cjs
配置SSL
这里最简单配置方式,就是使用宝塔进行反向代理,并申请免费的ssl证书,当然这是在拥有公网和域名的理想情况下,一般内网中使用需要自己配置nginx和签发ssl证书,接下来进行内网中使用的配置。
nginx的部署我使用docker进行部署了,核心的东西其实就是nginx的配置内容。
1、创建持久化目录:
mkdir ~/nginx/{conf,log,ssl,html}
2、生成ssl证书,在ssl的目录下执行:
openssl genrsa -out nginx.key 2048
openssl req -new -key nginx.key -out nginx.csr
openssl x509 -req -in nginx.csr -signkey nginx.key -out nginx.pem
遇到提示一路回车即可。
3、编辑nginx配置,在con目录下创建nginx.conf文件写入以下内容(这里面记得修改 proxy_pass中对应的服务地址,填写为你自己的内网服务地址):
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
proxy_pass http://192.168.5.106:8080;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/ssl/nginx.pem;
ssl_certificate_key /etc/ssl/nginx.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
proxy_pass http://192.168.5.106:8080;
}
}
}
4、创建容器:
docker run \
-p 80:80 \
-p 443:443 \
--name nginx \
-v $PWD/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD/nginx/conf/conf.d:/etc/nginx/conf.d \
-v $PWD/nginx/log:/var/log/nginx \
-v $PWD/nginx/ssl:/etc/ssl \
-v $PWD/nginx/html:/usr/share/nginx/html \
-d nginx:latest
5、通过访问nginx的地址即可看到服务运行成功了。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://www.hqyman.cn/post/7325.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~