Skip to content

Commit c10d193

Browse files
committed
feat: docker suppose coturn image
feat: push to dockerhub shell update fix: docker-compose.yml bugs
1 parent 55ff78d commit c10d193

11 files changed

+107
-48
lines changed

.dockerignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.git
2+
3+
svr/node_modules/
4+
5+
client/packages/rtc-web/
6+
7+
docker/mysql/data/

bin/auto-publish-image-to-hub.sh

Lines changed: 18 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,53 +2,41 @@
22
#########################
33
# 一键推送dockerhub的脚本
44
# @auther: iamtsm
5-
# @version: v1.0.0
5+
# @version: v1.1.0
66
#########################
77

88
######################################## start ######################################
9-
build_version=latest
10-
hub_version=v10.3.4
9+
latest_version=latest
1110

1211
######################################## build ######################################
1312
## build by docker-compose-build-code.yml
1413
docker-compose -f ../docker/docker-compose-build-code.yml build
1514

1615
######################################## tag ########################################
17-
# tag hub version
18-
docker tag docker-api:$build_version iamtsm/tl-rtc-file-api:$hub_version
19-
docker tag docker-socket:$build_version iamtsm/tl-rtc-file-socket:$hub_version
20-
docker tag docker-mysql:$build_version iamtsm/tl-rtc-file-mysql:$hub_version
21-
2216
# tag latest version
23-
docker tag docker-api:$build_version iamtsm/tl-rtc-file-api:$build_version
24-
docker tag docker-socket:$build_version iamtsm/tl-rtc-file-socket:$build_version
25-
docker tag docker-mysql:$build_version iamtsm/tl-rtc-file-mysql:$build_version
17+
docker tag docker-api:$latest_version iamtsm/tl-rtc-file-api:$latest_version
18+
docker tag docker-socket:$latest_version iamtsm/tl-rtc-file-socket:$latest_version
19+
docker tag docker-mysql:$latest_version iamtsm/tl-rtc-file-mysql:$latest_version
20+
docker tag docker-coturn:$latest_version iamtsm/tl-rtc-file-coturn:$latest_version
2621

2722
######################################## push #######################################
28-
# push hub version
29-
docker push iamtsm/tl-rtc-file-api:$hub_version
30-
docker push iamtsm/tl-rtc-file-socket:$hub_version
31-
docker push iamtsm/tl-rtc-file-mysql:$hub_version
32-
3323
# push latest version
34-
docker push iamtsm/tl-rtc-file-api:$build_version
35-
docker push iamtsm/tl-rtc-file-socket:$build_version
36-
docker push iamtsm/tl-rtc-file-mysql:$build_version
24+
docker push iamtsm/tl-rtc-file-api:$latest_version
25+
docker push iamtsm/tl-rtc-file-socket:$latest_version
26+
docker push iamtsm/tl-rtc-file-mysql:$latest_version
27+
docker push iamtsm/tl-rtc-file-coturn:$latest_version
3728

3829
######################################## del ########################################
3930
## del build version
40-
docker rmi docker-api:$build_version
41-
docker rmi docker-socket:$build_version
42-
docker rmi docker-mysql:$build_version
31+
docker rmi docker-api:$latest_version
32+
docker rmi docker-socket:$latest_version
33+
docker rmi docker-mysql:$latest_version
34+
docker rmi docker-coturn:$latest_version
4335

4436
# # del tag build version
45-
docker rmi iamtsm/tl-rtc-file-api:$build_version
46-
docker rmi iamtsm/tl-rtc-file-socket:$build_version
47-
docker rmi iamtsm/tl-rtc-file-mysql:$build_version
48-
49-
# del tag hub version
50-
docker rmi iamtsm/tl-rtc-file-api:$hub_version
51-
docker rmi iamtsm/tl-rtc-file-socket:$hub_version
52-
docker rmi iamtsm/tl-rtc-file-mysql:$hub_version
37+
docker rmi iamtsm/tl-rtc-file-api:$latest_version
38+
docker rmi iamtsm/tl-rtc-file-socket:$latest_version
39+
docker rmi iamtsm/tl-rtc-file-mysql:$latest_version
40+
docker rmi iamtsm/tl-rtc-file-coturn:$latest_version
5341

5442
######################################## done #######################################

bin/auto-pull-and-start-docker.sh

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#########################
33
# 提供一键部署docker的脚本
44
# @auther: iamtsm
5-
# @version: v1.0.0
5+
# @version: v1.1.0
66
#########################
77

88
# 检查Docker是否启动
@@ -38,25 +38,33 @@ export tl_rtc_file_db_open=true
3838
docker pull iamtsm/tl-rtc-file-api
3939
docker pull iamtsm/tl-rtc-file-socket
4040
docker pull iamtsm/tl-rtc-file-mysql
41+
docker pull iamtsm/tl-rtc-file-coturn
4142

4243
if docker images | grep -q "iamtsm/tl-rtc-file-api"; then
4344
echo "======> check image iamtsm/tl-rtc-file-api exists ok..."
4445
else
45-
echo "======> Image $image_name does not exist. Exiting."
46+
echo "======> Image iamtsm/tl-rtc-file-api does not exist. Exiting."
4647
exit 1
4748
fi
4849

4950
if docker images | grep -q "iamtsm/tl-rtc-file-socket"; then
5051
echo "======> check image iamtsm/tl-rtc-file-socket exists ok..."
5152
else
52-
echo "======> Image $image_name does not exist. Exiting."
53+
echo "======> Image iamtsm/tl-rtc-file-socket does not exist. Exiting."
5354
exit 1
5455
fi
5556

5657
if docker images | grep -q "iamtsm/tl-rtc-file-mysql"; then
5758
echo "======> check image iamtsm/tl-rtc-file-mysql exists ok..."
5859
else
59-
echo "Image $image_name does not exist. Exiting."
60+
echo "Image iamtsm/tl-rtc-file-mysql does not exist. Exiting."
61+
exit 1
62+
fi
63+
64+
if docker images | grep -q "iamtsm/tl-rtc-file-coturn"; then
65+
echo "======> check image iamtsm/tl-rtc-file-coturn exists ok..."
66+
else
67+
echo "Image iamtsm/tl-rtc-file-coturn does not exist. Exiting."
6068
exit 1
6169
fi
6270

@@ -70,9 +78,22 @@ docker run \
7078
-e MYSQL_DATABASE=webchat \
7179
-e MYSQL_USER=tlrtcfile \
7280
-e MYSQL_PASSWORD=tlrtcfile \
81+
-v ./../docker/mysql/data/mysql.env:/tlrtcfile/docker/mysql/mysql.env \
82+
-v ./../docker/mysql/data/db:/var/lib/mysql \
83+
-v ./../docker/mysql/data/my.cnf:/etc/mysql/conf.d/my.cnf \
84+
-v ./../docker/mysql/data/log:/var/log/mysql \
85+
-v ./../docker/mysql/data/init.sql:/docker-entrypoint-initdb.d/init.sql \
7386
--restart=always \
7487
-d iamtsm/tl-rtc-file-mysql
7588

89+
# 启动coturn容器
90+
docker run \
91+
--name=coturn \
92+
-p 3478:3478/udp \
93+
-p 3478:3478/tcp \
94+
-v ./../docker/coturn/turnserver-with-secret-user.conf:/etc/coturn/turnserver.conf \
95+
-d iamtsm/tl-rtc-file-coturn
96+
7697
# 启动api容器
7798
docker run \
7899
--name=api \
@@ -111,6 +132,7 @@ docker run \
111132
-e tl_rtc_file_notify_open \
112133
-e tl_rtc_file_notify_qiwei_normal \
113134
-e tl_rtc_file_notify_qiwei_error \
135+
-v ../tlrtcfile.env:/tlrtcfile/tlrtcfile.env \
114136
--link mysql \
115137
-d iamtsm/tl-rtc-file-api tlapi
116138

@@ -152,5 +174,6 @@ docker run \
152174
-e tl_rtc_file_notify_open \
153175
-e tl_rtc_file_notify_qiwei_normal \
154176
-e tl_rtc_file_notify_qiwei_error \
177+
-v ../tlrtcfile.env:/tlrtcfile/tlrtcfile.env \
155178
--link mysql \
156179
-d iamtsm/tl-rtc-file-socket tlsocket

docker-compose.yml

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ services:
2121
- mysql
2222
depends_on:
2323
- mysql
24+
- coturn
2425
volumes:
2526
- ./tlrtcfile.env:/tlrtcfile/tlrtcfile.env
2627

@@ -32,7 +33,7 @@ services:
3233
env_file:
3334
- ./tlrtcfile.env
3435
environment:
35-
- tl_rtc_file_env_mode=http
36+
- tl_rtc_file_env_mode=https
3637
- tl_rtc_file_db_open=true
3738
command:
3839
- tlapi
@@ -42,6 +43,7 @@ services:
4243
- mysql
4344
depends_on:
4445
- mysql
46+
- coturn
4547
volumes:
4648
- ./tlrtcfile.env:/tlrtcfile/tlrtcfile.env
4749

@@ -63,11 +65,12 @@ services:
6365
- mysql
6466
depends_on:
6567
- mysql
68+
- coturn
6669
volumes:
6770
- ./tlrtcfile.env:/tlrtcfile/tlrtcfile.env
6871

6972
#https模式启动socket服务
70-
socket-htts:
73+
socket-https:
7174
profiles: ['https']
7275
container_name: socket
7376
image: iamtsm/tl-rtc-file-socket
@@ -84,6 +87,7 @@ services:
8487
- mysql
8588
depends_on:
8689
- mysql
90+
- coturn
8791
volumes:
8892
- ./tlrtcfile.env:/tlrtcfile/tlrtcfile.env
8993

@@ -102,4 +106,17 @@ services:
102106
- ./docker/mysql/data/db:/var/lib/mysql
103107
- ./docker/mysql/data/my.cnf:/etc/mysql/conf.d/my.cnf
104108
- ./docker/mysql/data/log:/var/log/mysql
105-
- ./docker/mysql/data/init.sql:/docker-entrypoint-initdb.d/init.sql
109+
- ./docker/mysql/data/init.sql:/docker-entrypoint-initdb.d/init.sql
110+
111+
#coturn服务
112+
coturn:
113+
profiles: ['http','https']
114+
container_name: coturn
115+
image: iamtsm/tl-rtc-file-coturn
116+
env_file:
117+
- ./docker/coturn/coturn.env
118+
ports:
119+
- "3478:3478/udp"
120+
- "3478:3478/tcp"
121+
volumes:
122+
- ./docker/coturn/turnserver-with-secret-user.conf:/etc/turnserver.conf

docker/coturn/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
FROM coturn/coturn

docker/coturn/coturn.env

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
#coturn env feature use
1+
## coturn 配置
2+
3+
#自动检测外网ip和中转ip
4+
# DETECT_EXTERNAL_IP=yes
5+
# DETECT_RELAY_IP=yes

docker/coturn/turnserver-with-fixed-user.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ min-port=49152
1313
min-port=55000
1414
#cli密码
1515
cli-password=qwerty
16-
#后台运行
17-
daemon
16+
#后台运行-默认关闭 docker运行时需关闭, 自行部署时,可以开启
17+
# daemon
1818
#会话指纹
1919
fingerprint
2020
#中等详细日志

docker/coturn/turnserver-with-secret-user.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ min-port=49152
1313
min-port=55000
1414
#cli密码
1515
cli-password=qwerty
16-
#后台运行
17-
daemon
16+
#后台运行-默认关闭 docker运行时需关闭, 自行部署时,可以开启
17+
# daemon
1818
#会话指纹
1919
fingerprint
2020
#中等详细日志

docker/docker-compose-build-code.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
version: '3'
55
services:
66

7+
#api服务
78
api:
89
container_name: api
910
build:
@@ -19,9 +20,11 @@ services:
1920
- mysql
2021
depends_on:
2122
- mysql
23+
- coturn
2224
volumes:
2325
- ../tlrtcfile.env:/tlrtcfile/tlrtcfile.env
2426

27+
#socket服务
2528
socket:
2629
container_name: socket
2730
build:
@@ -37,9 +40,11 @@ services:
3740
- mysql
3841
depends_on:
3942
- mysql
43+
- coturn
4044
volumes:
4145
- ../tlrtcfile.env:/tlrtcfile/tlrtcfile.env
4246

47+
#mysql服务
4348
mysql:
4449
container_name: mysql
4550
restart: always
@@ -56,3 +61,17 @@ services:
5661
- ./mysql/data/my.cnf:/etc/mysql/conf.d/my.cnf
5762
- ./mysql/data/log:/var/log/mysql
5863
- ./mysql/data/init.sql:/docker-entrypoint-initdb.d/init.sql
64+
65+
#coturn服务
66+
coturn:
67+
container_name: coturn
68+
env_file:
69+
- ./coturn/coturn.env
70+
build:
71+
context: ./coturn/
72+
dockerfile: ./Dockerfile
73+
ports:
74+
- "3478:3478/udp"
75+
- "3478:3478/tcp"
76+
volumes:
77+
- ./coturn/turnserver-with-secret-user.conf:/etc/turnserver.conf

svr/conf/cfg.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "10.3.4",
2+
"version": "10.3.5",
33
"ws": {
44
"port": "请到 http.env 或者 https.env中进行配置",
55
"host": "请到 http.env 或者 https.env中进行配置"

tlrtcfile.env

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ tl_rtc_file_ws_host=ws://127.0.0.1:8444
99

1010
#-----------------以下为webrtc相关配置-----------------#
1111
## webrtc-stun中继服务地址
12-
tl_rtc_file_webrtc_stun_host=
12+
tl_rtc_file_webrtc_stun_host=stun:127.0.0.1:3478
1313
## webrtc-turn中继服务地址
14-
tl_rtc_file_webrtc_turn_host=
14+
tl_rtc_file_webrtc_turn_host=turn:127.0.0.1:3478?transport=udp
1515
## webrtc中继服务用户名
16-
tl_rtc_file_webrtc_turn_username=
16+
tl_rtc_file_webrtc_turn_username=tlrtcfile
1717
## webrtc中继服务密码
18-
tl_rtc_file_webrtc_turn_credential=
18+
tl_rtc_file_webrtc_turn_credential=tlrtcfile
1919
## webrtc中继服务Secret
20-
tl_rtc_file_webrtc_turn_secret=
20+
tl_rtc_file_webrtc_turn_secret=tlrtcfile
2121
## webrtc中继服务帐号过期时间 (毫秒)
2222
tl_rtc_file_webrtc_turn_expire=86400000
2323

0 commit comments

Comments
 (0)