6
6
[ ![ ] ( https://img.shields.io/badge/deployment-private-yellow )] ( https://github.com/iamtsm/tl-rtc-file/ )
7
7
[ ![ ] ( https://img.shields.io/badge/platform-unlimited-coral )] ( https://github.com/iamtsm/tl-rtc-file/ )
8
8
9
-
10
9
<p align =" center " >
11
10
<a href =" https://im.iamtsm.cn/file " target =" _blank " >体验地址</a > |
12
11
<a href =" https://hub.docker.com/u/iamtsm " target =" _blank " >DockerHub</a > |
16
15
17
16
## 目录
18
17
19
- - [ 背景-简介 ] ( #背景-简介 )
20
- - [ 优点-扩展 ] ( #优点-扩展 )
21
- - [ 修改配置 ] ( #修改配置 )
18
+ - [ 背景] ( #背景 )
19
+ - [ 优点] ( #优点 )
20
+ - [ 部署前必看 ] ( #部署前必看 )
22
21
- [ 自行部署] ( #自行部署 )
23
22
- [ 安装环境] ( #安装环境 )
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
+ - [ 自行打包镜像启动] ( #自行打包启动镜像 )
32
28
- [ 其他形式部署] ( #其他形式部署 )
29
+ - [ 配置数据库 (非必须步骤)] ( #配置数据库-非必须步骤 )
30
+ - [ 管理后台 (非必须步骤)] ( #管理后台-非必须步骤 )
31
+ - [ 企微通知 (非必须步骤)] ( #企微通知-非必须步骤 )
32
+ - [ OSS云存储 (非必须步骤)] ( #oss云存储-非必须步骤 )
33
+ - [ Chat-GPT (非必须步骤)] ( #chat-gpt-非必须步骤 )
34
+ - [ 配置turnserver (局域网非必须步骤,公网必须步骤)] ( #配置turnserver-局域网非必须步骤公网必须步骤 )
33
35
- [ 概述图] ( #概述图 )
34
36
- [ License] ( #license )
35
37
- [ 免责声明] ( #免责声明 )
36
38
37
- ### 背景-简介
39
+ ## 背景
38
40
39
41
20年毕设的题目相关整理出来的,用webrt在web端传输文件,支持传输超大文件。
40
42
41
- ### 优点-扩展
43
+ ## 优点
42
44
43
45
分片传输,跨终端,不限平台,方便使用,内网不限速(局域网最高到过70多M/s),支持私有部署,支持多文件拖拽发送,网页文件预览。 扩展了许多丰富的小功能,如本地屏幕录制,远程屏幕共享(无延迟),远程音视频通话(无延迟),直播(无延迟),密码房间,oss云存储,中继服务设置,webrtc检测,webrtc统计,文字传输(群聊,私聊),公共聊天,远程画板,AI聊天框,丰富的后台管理,实时执行日志展示,机器人告警通知等功能... 等等
44
46
45
47
46
- ## 修改配置
48
+ ## 部署前必看
47
49
48
50
无论是自行部署,还是docker部署,还是其他脚本部署,都需要先行修改 ` tlrtcfile.env ` 中相应配置,再执行下面操作,且后续还需修改配置,需要重启服务
49
51
52
+ 当然,你也可以不修改配置,使用默认的配置,但是默认的配置仅限于可以在localhost测试使用,其他人访问不到也使用不了。所以如果是需要部署到服务器上给局域网或者公网其他用户使用,就必须按需设置好 ` tlrtcfile.env `
53
+
54
+
50
55
## 自行部署
51
56
#### 安装环境
52
57
53
- 1. 安装node-14.21.x或14.21.x以上,npm后,进入项目目录运行下面命令
58
+ 安装node-14.21.x或14.21.x以上,npm后,进入项目目录运行下面命令
54
59
```
55
60
cd svr/
61
+
56
62
npm install
57
63
```
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
+ 首次运行执行一次下面的命令
92
65
93
- 修改 ` tlrtcfile.env ` 中的openai相关配置即可
94
-
95
- #### 管理后台 (非必须步骤)
66
+ ```
67
+ npm run build:pro
68
+ ```
96
69
97
- 前提 : 需要开启数据库配置
70
+ 如果你需要自己开发/修改前端页面,用这个命令,不需要开发页面就跳过这一个
98
71
99
- 修改 ` tlrtcfile.env ` 中的管理后台相关配置即可, 启动后,输入配置的房间号,输入密码,即可进入管理后台
72
+ ```
73
+ npm run build:dev
74
+ ```
100
75
101
- #### 配置turnserver (局域网非必须步骤,公网必须步骤)
76
+ #### 启动服务
102
77
103
- 目前有两种形式去生成使用turn服务的帐号密码,一种是固定帐号密码 (优先推荐),一种是有效期帐号密码。 ** 选一种方式即可 **
78
+ 启动以下两个服务, 选一种模式启动即可,两者的区别就是,https环境启动才可以使用音视频,直播,屏幕共享功能,其他功能不影响
104
79
105
- ubuntu示例:
80
+ http模式启动后,访问 ` http://你的机器ip:9092 `
106
81
107
- - 安装coturn ` sudo apt-get install coturn `
82
+ - 启动api服务 和 socket服务
108
83
109
- 有效帐号密码 : ` docker/coturn/turnserver-with-secret-user.conf `
84
+ ```
85
+ npm run http-api
110
86
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
+ ```
114
89
115
- 固定帐号密码 : ` docker/coturn/turnserver-with-fixed-user.conf `
116
90
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 `
122
92
123
- 部署好coturn后,在对应的 ` tlrtcfile.env ` 配置中设置好webrtc相关信息即可
93
+ - 启动api服务 和 socket服务
124
94
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
137
97
98
+ npm run https-socket
99
+ ```
138
100
139
- ## Docker
101
+ ## docker部署
140
102
141
103
目前支持 ` 官方镜像 ` 和 ` 自行打包镜像 ` ,使用官方镜像目前支持两种操作方式 ` docker脚本启动 ` ,` docker-compose启动 `
104
+ #### docker一键脚本启动
142
105
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 `
154
107
155
108
```
156
109
chmod +x ./auto-pull-and-start-docker.sh
110
+
157
111
./auto-pull-and-start-docker.sh
158
112
```
113
+ #### docker-compose启动
159
114
160
- #### 使用官方镜像(docker-compose启动) :
115
+ 根据你的 ` Docker Compose ` 版本在 ` 主目录 ` 执行如下对应的命令
161
116
162
- 按需修改好 ` tlrtcfile.env ` 配置 (或使用默认配置也可) 后,根据你的` Docker Compose ` 版本在主目录执行如下对应的命令
163
-
164
- - 对于` Docker Compose V1 `
117
+ - 对于 ` Docker Compose V1 `
165
118
```
166
119
docker-compose --profile=http up -d
167
120
```
168
121
169
- - 对于` Docker Compose V2 `
122
+ - 对于 ` Docker Compose V2 `
170
123
```
171
124
docker compose --profile=http up -d
172
125
```
173
126
174
- #### 自行打包启动镜像(docker-compose打包启动) :
127
+ #### 自行打包启动镜像
175
128
176
- 确认修改好 ` tlrtcfile.env ` 配置文件 (或使用默认配置也可) 后, 进入 ` docker/ ` 目录后根据你的` Docker Compose ` 版本在主目录执行如下对应的命令
129
+ 进入 ` docker/ ` 目录后根据你的 ` Docker Compose ` 版本在主目录执行如下对应的命令
177
130
178
- - 对于` Docker Compose V1 `
131
+ - 对于 ` Docker Compose V1 `
179
132
```
180
133
docker-compose -f docker-compose-build-code.yml up -d
181
134
```
182
135
183
- - 对于` Docker Compose V2 `
136
+ - 对于 ` Docker Compose V2 `
184
137
```
185
138
docker compose -f docker-compose-build-code.yml up -d
186
139
```
@@ -191,32 +144,36 @@ docker compose -f docker-compose-build-code.yml up -d
191
144
192
145
下载项目后,可以进入 ` bin/ ` 目录,选择对应的系统脚本,直接执行即可,会自动检测安装环境,自动安装依赖,自动启动服务
193
146
194
- ** 注意 : 执行之前可以先修改好 tlrtcfile.env 配置,如使用默认配置,后续修改需要重启两个服务才能生效** ,重启可以先执行 ` 停止服务脚本 ` ,然后再次执行 ` 自动脚本 ` 即可
195
-
196
147
#### ubuntu自动脚本 (比如ubuntu16)
197
148
149
+ - 如果脚本没有执行权限,执行一下下面的命令
198
150
```
199
151
chmod +x ./ubuntu16/*.sh
152
+ ```
200
153
201
- cd ubuntu16/
202
-
154
+ - 使用 ` http ` 方式则是执行这个脚本
155
+ ```
203
156
./auto-check-install-http.sh
204
157
```
205
- 使用https方式则是执行这个脚本
158
+
159
+ - 或者使用 ` https ` 方式则是执行这个脚本
206
160
```
207
161
./auto-check-install-https.sh
208
162
```
209
- 停止服务脚本 :
163
+
164
+ - 停止服务脚本 :
210
165
```
211
166
./auto-stop.sh
212
167
```
213
168
214
169
#### windows自动脚本
215
170
171
+ - 使用 ` http ` 方式则是执行这个脚本
216
172
```
217
173
windows/auto-check-install-http.bat
218
174
```
219
- 或者使用https方式则是执行这个脚本
175
+
176
+ - 或者使用https方式则是执行这个脚本
220
177
```
221
178
windows/auto-check-install-https.bat
222
179
```
@@ -226,6 +183,68 @@ windows/auto-check-install-https.bat
226
183
[ ![ Deploy on Zeabur] ( https://zeabur.com/button.svg )] ( https://zeabur.com/templates/898TLE?referralCode=iamtsm )
227
184
228
185
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
+
229
248
## 概述图
230
249
231
250
![ image] ( doc/tl-rtc-file-tool.jpg )
0 commit comments