66[ ![ ] ( https://img.shields.io/badge/deployment-private-yellow )] ( https://github.com/iamtsm/tl-rtc-file/ )
77[ ![ ] ( https://img.shields.io/badge/platform-unlimited-coral )] ( https://github.com/iamtsm/tl-rtc-file/ )
88
9-
109<p align =" center " >
1110<a href =" https://im.iamtsm.cn/file " target =" _blank " >体验地址</a > |
1211<a href =" https://hub.docker.com/u/iamtsm " target =" _blank " >DockerHub</a > |
1615
1716## 目录
1817
19- - [ 背景-简介 ] ( #背景-简介 )
20- - [ 优点-扩展 ] ( #优点-扩展 )
21- - [ 修改配置 ] ( #修改配置 )
18+ - [ 背景] ( #背景 )
19+ - [ 优点] ( #优点 )
20+ - [ 部署前必看 ] ( #部署前必看 )
2221- [ 自行部署] ( #自行部署 )
2322 - [ 安装环境] ( #安装环境 )
24- - [ 准备启动] ( #准备启动 )
25- - [ 配置数据库 (非必须步骤)] ( #配置数据库-非必须步骤 )
26- - [ 管理后台 (非必须步骤)] ( #管理后台-非必须步骤 )
27- - [ 企微通知 (非必须步骤)] ( #企微通知-非必须步骤 )
28- - [ OSS云存储 (非必须步骤)] ( #oss云存储-非必须步骤 )
29- - [ Chat-GPT (非必须步骤)] ( #chat-gpt-非必须步骤 )
30- - [ 配置turnserver (局域网非必须步骤,公网必须步骤)] ( #配置turnserver-局域网非必须步骤公网必须步骤 )
31- - [ Docker部署] ( #Docker部署 )
23+ - [ 启动服务] ( #启动服务 )
24+ - [ docker部署] ( #docker部署 )
25+ - [ docker一键脚本启动] ( #docker一键脚本启动 )
26+ - [ docker-compose命令启动] ( #docker-compose启动 )
27+ - [ 自行打包镜像启动] ( #自行打包启动镜像 )
3228- [ 其他形式部署] ( #其他形式部署 )
29+ - [ 配置数据库 (非必须步骤)] ( #配置数据库-非必须步骤 )
30+ - [ 管理后台 (非必须步骤)] ( #管理后台-非必须步骤 )
31+ - [ 企微通知 (非必须步骤)] ( #企微通知-非必须步骤 )
32+ - [ OSS云存储 (非必须步骤)] ( #oss云存储-非必须步骤 )
33+ - [ Chat-GPT (非必须步骤)] ( #chat-gpt-非必须步骤 )
34+ - [ 配置turnserver (局域网非必须步骤,公网必须步骤)] ( #配置turnserver-局域网非必须步骤公网必须步骤 )
3335- [ 概述图] ( #概述图 )
3436- [ License] ( #license )
3537- [ 免责声明] ( #免责声明 )
3638
37- ### 背景-简介
39+ ## 背景
3840
394120年毕设的题目相关整理出来的,用webrt在web端传输文件,支持传输超大文件。
4042
41- ### 优点-扩展
43+ ## 优点
4244
4345分片传输,跨终端,不限平台,方便使用,内网不限速(局域网最高到过70多M/s),支持私有部署,支持多文件拖拽发送,网页文件预览。 扩展了许多丰富的小功能,如本地屏幕录制,远程屏幕共享(无延迟),远程音视频通话(无延迟),直播(无延迟),密码房间,oss云存储,中继服务设置,webrtc检测,webrtc统计,文字传输(群聊,私聊),公共聊天,远程画板,AI聊天框,丰富的后台管理,实时执行日志展示,机器人告警通知等功能... 等等
4446
4547
46- ## 修改配置
48+ ## 部署前必看
4749
4850无论是自行部署,还是docker部署,还是其他脚本部署,都需要先行修改 ` tlrtcfile.env ` 中相应配置,再执行下面操作,且后续还需修改配置,需要重启服务
4951
52+ 当然,你也可以不修改配置,使用默认的配置,但是默认的配置仅限于可以在localhost测试使用,其他人访问不到也使用不了。所以如果是需要部署到服务器上给局域网或者公网其他用户使用,就必须按需设置好 ` tlrtcfile.env `
53+
54+
5055## 自行部署
5156#### 安装环境
5257
53- 1. 安装node-14.21.x或14.21.x以上,npm后,进入项目目录运行下面命令
58+ 安装node-14.21.x或14.21.x以上,npm后,进入项目目录运行下面命令
5459```
5560cd svr/
61+
5662npm install
5763```
58- 2.首次运行/自行开发页面,用下面两个命令之一即可
59-
60- ` npm run build:dev ` (如果你需要自己开发/修改前端页面,用这个命令)
61- ` npm run build:pro ` (不需要开发/修改前端页面,用这个命令)
62-
63- 3.修改 ` tlrtcfile.env ` 配置文件
64-
65- #### 准备启动
66-
67- 启动以下两个服务, 选一种模式启动即可,两者的区别就是,https环境启动才可以使用音视频,直播,屏幕共享功能,其他功能不影响
68-
69- http模式启动后,访问 http://你的机器ip:9092 即可
70-
71- - api服务: ` npm run http-api `
72- - socket服务 : ` npm run http-socket `
73-
74- https模式启动后,访问 https://你的机器ip:9092 即可
75-
76- - api服务: ` npm run https-api `
77- - socket服务 : ` npm run https-socket `
78-
79- #### 配置数据库 (非必须步骤)
80-
81- 修改 ` tlrtcfile.env ` 中的数据库相关配置即可
82-
83- #### 企微通知 (非必须步骤)
84-
85- 修改 ` tlrtcfile.env ` 中的企业微信通知相关配置即可
86-
87- #### OSS云存储 (非必须步骤)
88-
89- 修改 ` tlrtcfile.env ` 中的OSS存储相关配置即可
90-
91- #### Chat-GPT (非必须步骤)
64+ 首次运行执行一次下面的命令
9265
93- 修改 ` tlrtcfile.env ` 中的openai相关配置即可
94-
95- #### 管理后台 (非必须步骤)
66+ ```
67+ npm run build:pro
68+ ```
9669
97- 前提 : 需要开启数据库配置
70+ 如果你需要自己开发/修改前端页面,用这个命令,不需要开发页面就跳过这一个
9871
99- 修改 ` tlrtcfile.env ` 中的管理后台相关配置即可, 启动后,输入配置的房间号,输入密码,即可进入管理后台
72+ ```
73+ npm run build:dev
74+ ```
10075
101- #### 配置turnserver (局域网非必须步骤,公网必须步骤)
76+ #### 启动服务
10277
103- 目前有两种形式去生成使用turn服务的帐号密码,一种是固定帐号密码 (优先推荐),一种是有效期帐号密码。 ** 选一种方式即可 **
78+ 启动以下两个服务, 选一种模式启动即可,两者的区别就是,https环境启动才可以使用音视频,直播,屏幕共享功能,其他功能不影响
10479
105- ubuntu示例:
80+ http模式启动后,访问 ` http://你的机器ip:9092 `
10681
107- - 安装coturn ` sudo apt-get install coturn `
82+ - 启动api服务 和 socket服务
10883
109- 有效帐号密码 : ` docker/coturn/turnserver-with-secret-user.conf `
84+ ```
85+ npm run http-api
11086
111- 1 . 修改 ` listening-device ` , ` listening-ip ` , ` external-ip ` , ` static-auth-secret ` , ` realm ` 几个字段即可
112- 2 . 启动turnserver
113- ` turnserver -c /这个地方路径填完整/conf/turn/turnserver-with-secret-user.conf `
87+ npm run http-socket
88+ ```
11489
115- 固定帐号密码 : ` docker/coturn/turnserver-with-fixed-user.conf `
11690
117- 1 . 修改 ` listening-device ` , ` listening-ip ` , ` external-ip ` , ` user ` , ` realm ` 几个字段即可
118- 2 . 生成用户
119- ` turnadmin -a -u 帐号 -p 密码 -r 这个地方填配置文件中的relam `
120- 3 . 启动turnserver
121- ` turnserver -c /这个地方路径填完整/docker/coturn/turnserver-with-secret-user.conf `
91+ 或者使用https模式启动,访问 ` https://你的机器ip:9092 `
12292
123- 部署好coturn后,在对应的 ` tlrtcfile.env ` 配置中设置好webrtc相关信息即可
93+ - 启动api服务 和 socket服务
12494
125- ## webrtc-stun中继服务地址
126- tl_rtc_file_webrtc_stun_host=
127- ## webrtc-turn中继服务地址
128- tl_rtc_file_webrtc_turn_host=
129- ## webrtc中继服务用户名
130- tl_rtc_file_webrtc_turn_username=tlrtcfile
131- ## webrtc中继服务密码
132- tl_rtc_file_webrtc_turn_credential=tlrtcfile
133- ## webrtc中继服务Secret
134- tl_rtc_file_webrtc_turn_secret=tlrtcfile
135- ## webrtc中继服务帐号过期时间 (毫秒)
136- tl_rtc_file_webrtc_turn_expire=86400000
95+ ```
96+ npm run https-api
13797
98+ npm run https-socket
99+ ```
138100
139- ## Docker
101+ ## docker部署
140102
141103目前支持 ` 官方镜像 ` 和 ` 自行打包镜像 ` ,使用官方镜像目前支持两种操作方式 ` docker脚本启动 ` ,` docker-compose启动 `
104+ #### docker一键脚本启动
142105
143- 和 ` 自行部署 ` 操作/配置上的差异有下面两点。
144-
145- - [x] docker环境默认开启数据库,coturn服务
146-
147- - [x] docker环境需要挂载coturn的配置,项目基础配置(tlrtcfile.env)
148-
149- 由于是内置coturn和mysql服务,所以这两个相应的配置(可以在docker-compose.yml中找到具体配置文件位置),也需要在启动前修改好。
150-
151- #### 使用官方镜像(docker脚本启动) :
152-
153- 按需修改好 ` tlrtcfile.env ` 配置 (或使用默认配置也可) 后,进入 ` bin/ ` 目录执行脚本 ` auto-pull-and-start-docker.sh `
106+ 进入 ` bin/ ` 目录执行脚本 ` auto-pull-and-start-docker.sh `
154107
155108```
156109chmod +x ./auto-pull-and-start-docker.sh
110+
157111./auto-pull-and-start-docker.sh
158112```
113+ #### docker-compose启动
159114
160- #### 使用官方镜像(docker-compose启动) :
115+ 根据你的 ` Docker Compose ` 版本在 ` 主目录 ` 执行如下对应的命令
161116
162- 按需修改好 ` tlrtcfile.env ` 配置 (或使用默认配置也可) 后,根据你的` Docker Compose ` 版本在主目录执行如下对应的命令
163-
164- - 对于` Docker Compose V1 `
117+ - 对于 ` Docker Compose V1 `
165118```
166119docker-compose --profile=http up -d
167120```
168121
169- - 对于` Docker Compose V2 `
122+ - 对于 ` Docker Compose V2 `
170123```
171124docker compose --profile=http up -d
172125```
173126
174- #### 自行打包启动镜像(docker-compose打包启动) :
127+ #### 自行打包启动镜像
175128
176- 确认修改好 ` tlrtcfile.env ` 配置文件 (或使用默认配置也可) 后, 进入 ` docker/ ` 目录后根据你的` Docker Compose ` 版本在主目录执行如下对应的命令
129+ 进入 ` docker/ ` 目录后根据你的 ` Docker Compose ` 版本在主目录执行如下对应的命令
177130
178- - 对于` Docker Compose V1 `
131+ - 对于 ` Docker Compose V1 `
179132```
180133docker-compose -f docker-compose-build-code.yml up -d
181134```
182135
183- - 对于` Docker Compose V2 `
136+ - 对于 ` Docker Compose V2 `
184137```
185138docker compose -f docker-compose-build-code.yml up -d
186139```
@@ -191,32 +144,36 @@ docker compose -f docker-compose-build-code.yml up -d
191144
192145下载项目后,可以进入 ` bin/ ` 目录,选择对应的系统脚本,直接执行即可,会自动检测安装环境,自动安装依赖,自动启动服务
193146
194- ** 注意 : 执行之前可以先修改好 tlrtcfile.env 配置,如使用默认配置,后续修改需要重启两个服务才能生效** ,重启可以先执行 ` 停止服务脚本 ` ,然后再次执行 ` 自动脚本 ` 即可
195-
196147#### ubuntu自动脚本 (比如ubuntu16)
197148
149+ - 如果脚本没有执行权限,执行一下下面的命令
198150```
199151chmod +x ./ubuntu16/*.sh
152+ ```
200153
201- cd ubuntu16/
202-
154+ - 使用 ` http ` 方式则是执行这个脚本
155+ ```
203156./auto-check-install-http.sh
204157```
205- 使用https方式则是执行这个脚本
158+
159+ - 或者使用 ` https ` 方式则是执行这个脚本
206160```
207161./auto-check-install-https.sh
208162```
209- 停止服务脚本 :
163+
164+ - 停止服务脚本 :
210165```
211166./auto-stop.sh
212167```
213168
214169#### windows自动脚本
215170
171+ - 使用 ` http ` 方式则是执行这个脚本
216172```
217173windows/auto-check-install-http.bat
218174```
219- 或者使用https方式则是执行这个脚本
175+
176+ - 或者使用https方式则是执行这个脚本
220177```
221178windows/auto-check-install-https.bat
222179```
@@ -226,6 +183,68 @@ windows/auto-check-install-https.bat
226183[ ![ Deploy on Zeabur] ( https://zeabur.com/button.svg )] ( https://zeabur.com/templates/898TLE?referralCode=iamtsm )
227184
228185
186+ ## 其他配置项
187+ #### 配置数据库 (非必须步骤)
188+
189+ 需要自行安装mysql数据库,新建一个数据库名称为 ` webchat ` ,然后修改 ` tlrtcfile.env ` 中的数据库相关配置即可
190+
191+ #### 企微通知 (非必须步骤)
192+
193+ 如果需要设置一些访问通知,错误告警通知,可以在企业微信建立机器人后,每一个机器人会有一个key,修改 ` tlrtcfile.env ` 中的企业微信通知相关配置即可
194+
195+ #### OSS云存储 (非必须步骤)
196+
197+ 目前支持对接了seafile存储,后续会逐步支持阿里云,腾讯云,七牛云,自己的服务器等存储方式。 修改 ` tlrtcfile.env ` 中的OSS存储相关配置即可
198+
199+ #### Chat-GPT (非必须步骤)
200+
201+ 对接了openai的接口,内置了一个聊天对话框, 修改 ` tlrtcfile.env ` 中的openai相关配置即可
202+
203+ #### 管理后台 (非必须步骤)
204+
205+ 前提 : 需要开启数据库配置
206+
207+ 修改 ` tlrtcfile.env ` 中的管理后台相关配置即可, 启动后,输入配置的房间号,输入密码,即可进入管理后台
208+
209+ #### 配置turnserver (局域网非必须步骤,公网必须步骤)
210+
211+ 目前有两种形式去生成使用turn服务的帐号密码,一种是固定帐号密码 (优先推荐),一种是有效期帐号密码。** 选一种方式即可** ,以下以ubuntu示例
212+
213+ 安装coturn
214+
215+ ```
216+ sudo apt-get install coturn
217+ ```
218+
219+ 有效帐号密码模式配置文件 : ` docker/coturn/turnserver-with-secret-user.conf `
220+
221+ - 修改配置文件字段
222+ ```
223+ `listening-device`, `listening-ip`, `external-ip`, `static-auth-secret`, `realm`
224+ ```
225+ - 启动turnserver
226+
227+ ```
228+ turnserver -c /这个地方路径填完整/conf/turn/turnserver-with-secret-user.conf
229+ ```
230+
231+ 固定帐号密码模式配置文件 : ` docker/coturn/turnserver-with-fixed-user.conf `
232+
233+ - 修改配置文件字段
234+ ```
235+ `listening-device`, `listening-ip`, `external-ip`, `user`, `realm`
236+ ```
237+ - 生成用户
238+ ```
239+ turnadmin -a -u 帐号 -p 密码 -r 这个地方填配置文件中的relam
240+ ```
241+ - 启动turnserver
242+ ```
243+ turnserver -c /这个地方路径填完整/docker/coturn/turnserver-with-secret-user.conf
244+ ```
245+
246+ 部署好coturn后,在对应的 ` tlrtcfile.env ` 配置中设置好webrtc相关信息即可
247+
229248## 概述图
230249
231250![ image] ( doc/tl-rtc-file-tool.jpg )
0 commit comments