Commit ffb0fcb9072a043c333837fa83bd976b03fea091

Authored by 648540858
Committed by GitHub
2 parents 019827fd a0c7b35e

Merge pull request #259 from hotcoffie/wvp-28181-2.0

1.适配新的gitee地址
DOCKERFILE
1 FROM ubuntu:20.04 AS build 1 FROM ubuntu:20.04 AS build
2 2
3 -# DEBIAN_FRONTEND这个环境变量,告知操作系统应该从哪儿获得用户输入。  
4 -# 如果设置为”noninteractive”,你就可以直接运行命令,而无需向用户请求输入(所有操作都是非交互式的)。  
5 ARG DEBIAN_FRONTEND=noninteractive 3 ARG DEBIAN_FRONTEND=noninteractive
6 ENV TZ=Asia/Shanghai 4 ENV TZ=Asia/Shanghai
7 5
@@ -32,23 +30,23 @@ WORKDIR /home @@ -32,23 +30,23 @@ WORKDIR /home
32 30
33 RUN git clone https://gitee.com/pan648540858/maven.git && \ 31 RUN git clone https://gitee.com/pan648540858/maven.git && \
34 cp maven/settings.xml /usr/share/maven/conf/ && \ 32 cp maven/settings.xml /usr/share/maven/conf/ && \
35 - git clone https://gitee.com/pan648540858/wvp-GB28181-pro.git && \ 33 + git clone https://gitee.com/pan648540858/wvp-GB28181.git && \
36 git clone https://gitee.com/pan648540858/wvp-pro-assist.git 34 git clone https://gitee.com/pan648540858/wvp-pro-assist.git
37 # 编译前端界面 35 # 编译前端界面
38 -WORKDIR /home/wvp-GB28181-pro/web_src 36 +WORKDIR /home/wvp-GB28181/web_src
39 37
40 RUN npm install && \ 38 RUN npm install && \
41 npm run build && \ 39 npm run build && \
42 mkdir -p /opt/wvp/config && \ 40 mkdir -p /opt/wvp/config && \
43 mkdir -p /opt/assist/config && \ 41 mkdir -p /opt/assist/config && \
44 - cp /home/wvp-GB28181-pro/src/main/resources/application-docker.yml /opt/wvp/config/application.yml && \ 42 + cp /home/wvp-GB28181/src/main/resources/application-dev.yml /opt/wvp/config/application.yml && \
45 cp /home/wvp-pro-assist/src/main/resources/application-dev.yml /opt/assist/config/application.yml 43 cp /home/wvp-pro-assist/src/main/resources/application-dev.yml /opt/assist/config/application.yml
46 44
47 # wvp打包 45 # wvp打包
48 -WORKDIR /home/wvp-GB28181-pro 46 +WORKDIR /home/wvp-GB28181
49 RUN mvn compile && \ 47 RUN mvn compile && \
50 mvn package && \ 48 mvn package && \
51 - cp /home/wvp-GB28181-pro/target/wvp*.jar /opt/wvp/ 49 + cp /home/wvp-GB28181/target/wvp*.jar /opt/wvp/
52 50
53 # wvp 录像管理打包 51 # wvp 录像管理打包
54 WORKDIR /home/wvp-pro-assist 52 WORKDIR /home/wvp-pro-assist
@@ -72,7 +70,7 @@ RUN mkdir -p /opt/media && \ @@ -72,7 +70,7 @@ RUN mkdir -p /opt/media && \
72 70
73 # 清理 71 # 清理
74 RUN rm -rf /home/wiki && \ 72 RUN rm -rf /home/wiki && \
75 - rm -rf /home/wvp-GB28181-pro && \ 73 + rm -rf /home/wvp-GB28181 && \
76 apt-get autoremove -y git maven nodejs npm && \ 74 apt-get autoremove -y git maven nodejs npm && \
77 apt-get clean -y && \ 75 apt-get clean -y && \
78 rm -rf /var/lib/apt/lists/*dic 76 rm -rf /var/lib/apt/lists/*dic
@@ -87,9 +85,9 @@ RUN echo '#!/bin/bash' > run.sh && \ @@ -87,9 +85,9 @@ RUN echo '#!/bin/bash' > run.sh && \
87 echo 'nohup /opt/media/MediaServer -d -m 3 &' >> run.sh && \ 85 echo 'nohup /opt/media/MediaServer -d -m 3 &' >> run.sh && \
88 echo 'cd /opt/wvp' >> run.sh && \ 86 echo 'cd /opt/wvp' >> run.sh && \
89 echo 'if [${WVP_CONFIG}]; then' >> run.sh && \ 87 echo 'if [${WVP_CONFIG}]; then' >> run.sh && \
90 - echo ' java -jar *.jar --spring.config.location=/opt/wvp/config/application.yml --media.record-assist-port=18081 ${WVP_CONFIG}' >> run.sh && \ 88 + echo ' java -jar *.jar --spring.confi g.location=/opt/wvp/config/application.yml --media.record-assist-port=18081 ${WVP_CONFIG}' >> run.sh && \
91 echo 'else' >> run.sh && \ 89 echo 'else' >> run.sh && \
92 - echo ' java -jar *.jar --spring.config.location=/opt/wvp/config/application.yml --media.record-assist-port=18081 --media.ip=127.0.0.1 --media.hook-ip=127.0.0.1 --media.sdp-ip=${WVP_IP} --sip.ip=${WVP_IP} --media.stream-ip=${WVP_IP}' >> run.sh && \ 90 + echo ' java -jar *.jar --spring.config.location=/opt/wvp/config/application.yml --media.record-assist-port=18081 --media.ip=127.0.0.1 --media.sdp-ip=${WVP_IP} --sip.ip=${WVP_IP} --media.stream-ip=${WVP_IP}' >> run.sh && \
93 echo 'fi' >> run.sh 91 echo 'fi' >> run.sh
94 RUN chmod +x run.sh 92 RUN chmod +x run.sh
95 93
docker/docker-compose.yml
@@ -13,7 +13,7 @@ services: @@ -13,7 +13,7 @@ services:
13 build: 13 build:
14 context: ./wvp 14 context: ./wvp
15 args: 15 args:
16 - gitUrl: "https://gitee.com/xieyu1989" 16 + gitUrl: "https://gitee.com/pan648540858"
17 zlmGitUrl: "https://gitee.com/xia-chu/ZLMediaKit" 17 zlmGitUrl: "https://gitee.com/xia-chu/ZLMediaKit"
18 restart: always 18 restart: always
19 ports: 19 ports:
@@ -41,6 +41,8 @@ services: @@ -41,6 +41,8 @@ services:
41 REDIS_PORT: 6379 41 REDIS_PORT: 6379
42 REDIS_DB: 6 42 REDIS_DB: 6
43 REDIS_PWD: root 43 REDIS_PWD: root
  44 + ASSIST_JVM_CONFIG: -Xms128m -Xmx256m
  45 + WVP_JVM_CONFIG: -Xms128m -Xmx256m
44 ASSIST_CONFIG: 46 ASSIST_CONFIG:
45 WVP_CONFIG: 47 WVP_CONFIG:
46 depends_on: 48 depends_on:
docker/wvp/Dockerfile
1 -FROM ubuntu:20.04 AS build 1 +FROM ubuntu:20.04 as build
2 2
3 ARG gitUrl="https://gitee.com/pan648540858" 3 ARG gitUrl="https://gitee.com/pan648540858"
4 ARG zlmGitUrl="https://gitee.com/xia-chu/ZLMediaKit" 4 ARG zlmGitUrl="https://gitee.com/xia-chu/ZLMediaKit"
@@ -6,30 +6,33 @@ ARG zlmGitUrl="https://gitee.com/xia-chu/ZLMediaKit" @@ -6,30 +6,33 @@ ARG zlmGitUrl="https://gitee.com/xia-chu/ZLMediaKit"
6 RUN export DEBIAN_FRONTEND=noninteractive &&\ 6 RUN export DEBIAN_FRONTEND=noninteractive &&\
7 apt-get update && \ 7 apt-get update && \
8 apt-get install -y --no-install-recommends openjdk-11-jre git maven nodejs npm build-essential \ 8 apt-get install -y --no-install-recommends openjdk-11-jre git maven nodejs npm build-essential \
9 - cmake ca-certificates openssl ffmpeg 9 + cmake ca-certificates openssl ffmpeg &&\
  10 + mkdir -p /opt/wvp/config /opt/wvp/heapdump /opt/wvp/config /opt/assist/config /opt/assist/heapdump /opt/media/www/record
10 11
11 RUN cd /home && \ 12 RUN cd /home && \
12 - git clone "https://gitee.com/pan648540858/maven.git" && \  
13 - cp maven/settings.xml /usr/share/maven/conf/ && \  
14 - git clone "${gitUrl}/wvp-GB28181-pro.git" && \  
15 - git clone "${gitUrl}/wvp-pro-assist.git" && \  
16 - git clone --depth=1 "${zlmGitUrl}" && \  
17 - mkdir -p /opt/wvp/config /opt/assist/config /opt/media/www/record 13 + git clone "${gitUrl}/maven.git" && \
  14 + cp maven/settings.xml /usr/share/maven/conf/
18 15
19 -RUN cd /home/wvp-GB28181/web_src && \ 16 +RUN cd /home && \
  17 + git clone "${gitUrl}/wvp-GB28181-pro.git"
  18 +RUN cd /home/wvp-GB28181-pro/web_src && \
20 npm install && \ 19 npm install && \
21 npm run build 20 npm run build
22 -  
23 -RUN cd /home/wvp-GB28181 && \ 21 +RUN cd /home/wvp-GB28181-pro && \
24 mvn clean package -Dmaven.test.skip=true && \ 22 mvn clean package -Dmaven.test.skip=true && \
25 - cp /home/wvp-GB28181/target/*.jar /opt/wvp/ && \  
26 - cp /home/wvp-GB28181/src/main/resources/application-docker.yml /opt/wvp/config/application.yml 23 + cp /home/wvp-GB28181-pro/target/*.jar /opt/wvp/ && \
  24 + cp /home/wvp-GB28181-pro/src/main/resources/application-docker.yml /opt/wvp/config/application.yml
27 25
  26 +RUN cd /home && \
  27 + git clone "${gitUrl}/wvp-pro-assist.git"
28 RUN cd /home/wvp-pro-assist && \ 28 RUN cd /home/wvp-pro-assist && \
  29 + git reset --hard 58f1a79136a55a7cd1593c95b56ddadcc2225b61 && \
29 mvn clean package -Dmaven.test.skip=true && \ 30 mvn clean package -Dmaven.test.skip=true && \
30 cp /home/wvp-pro-assist/target/*.jar /opt/assist/ && \ 31 cp /home/wvp-pro-assist/target/*.jar /opt/assist/ && \
31 cp /home/wvp-pro-assist/src/main/resources/application-dev.yml /opt/assist/config/application.yml 32 cp /home/wvp-pro-assist/src/main/resources/application-dev.yml /opt/assist/config/application.yml
32 33
  34 +RUN cd /home && \
  35 + git clone --depth=1 "${zlmGitUrl}"
33 RUN cd /home/ZLMediaKit && \ 36 RUN cd /home/ZLMediaKit && \
34 git submodule update --init --recursive && \ 37 git submodule update --init --recursive && \
35 mkdir -p build release/linux/Release/ &&\ 38 mkdir -p build release/linux/Release/ &&\
@@ -44,10 +47,10 @@ RUN cd /opt/wvp && \ @@ -44,10 +47,10 @@ RUN cd /opt/wvp && \
44 echo 'echo ${WVP_IP}' >> run.sh && \ 47 echo 'echo ${WVP_IP}' >> run.sh && \
45 echo 'echo ${WVP_CONFIG}' >> run.sh && \ 48 echo 'echo ${WVP_CONFIG}' >> run.sh && \
46 echo 'cd /opt/assist' >> run.sh && \ 49 echo 'cd /opt/assist' >> run.sh && \
47 - echo 'nohup java -jar *.jar --spring.config.location=/opt/assist/config/application.yml --userSettings.record=/opt/media/www/record/ --media.record-assist-port=18081 ${ASSIST_CONFIG} &' >> run.sh && \ 50 + echo 'nohup java ${ASSIST_JVM_CONFIG} -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/assist/heapdump/ -jar *.jar --spring.config.location=/opt/assist/config/application.yml --userSettings.record=/opt/media/www/record/ --media.record-assist-port=18081 ${ASSIST_CONFIG} &' >> run.sh && \
48 echo 'nohup /opt/media/MediaServer -d -m 3 &' >> run.sh && \ 51 echo 'nohup /opt/media/MediaServer -d -m 3 &' >> run.sh && \
49 echo 'cd /opt/wvp' >> run.sh && \ 52 echo 'cd /opt/wvp' >> run.sh && \
50 - echo 'java -jar *.jar --spring.config.location=/opt/wvp/config/application.yml --media.record-assist-port=18081 ${WVP_CONFIG}' >> run.sh && \ 53 + echo 'java ${WVP_JVM_CONFIG} -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/wvp/heapdump/ -jar *.jar --spring.config.location=/opt/wvp/config/application.yml --media.record-assist-port=18081 ${WVP_CONFIG}' >> run.sh && \
51 chmod +x run.sh 54 chmod +x run.sh
52 55
53 FROM ubuntu:20.04 56 FROM ubuntu:20.04
src/main/resources/application-docker.yml
@@ -8,7 +8,7 @@ spring: @@ -8,7 +8,7 @@ spring:
8 # [可选] 数据库 DB 8 # [可选] 数据库 DB
9 database: ${REDIS_DB:6} 9 database: ${REDIS_DB:6}
10 # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接 10 # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接
11 - password: ${REDIS_PWD:} 11 + password: ${REDIS_PWD:root}
12 # [可选] 超时时间 12 # [可选] 超时时间
13 timeout: 10000 13 timeout: 10000
14 # [可选] jdbc数据库配置, 项目使用sqlite作为数据库,一般不需要配置 14 # [可选] jdbc数据库配置, 项目使用sqlite作为数据库,一般不需要配置
@@ -36,9 +36,9 @@ server: @@ -36,9 +36,9 @@ server:
36 # 作为28181服务器的配置 36 # 作为28181服务器的配置
37 sip: 37 sip:
38 # [必须修改] 本机的IP 38 # [必须修改] 本机的IP
39 - ip: ${WVP_HOST} 39 + ip: ${WVP_HOST:127.0.0.1}
40 # [可选] 28181服务监听的端口 40 # [可选] 28181服务监听的端口
41 - port: 5060 41 + port: ${WVP_PORT:5060}
42 # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007) 42 # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)
43 # 后两位为行业编码,定义参照附录D.3 43 # 后两位为行业编码,定义参照附录D.3
44 # 3701020049标识山东济南历下区 信息行业接入 44 # 3701020049标识山东济南历下区 信息行业接入
@@ -52,9 +52,9 @@ sip: @@ -52,9 +52,9 @@ sip:
52 #zlm 默认服务器配置 52 #zlm 默认服务器配置
53 media: 53 media:
54 # [必须修改] zlm服务器的内网IP 54 # [必须修改] zlm服务器的内网IP
55 - ip: 127.0.0.1 55 + ip: ${ZLM_HOST:127.0.0.1}
56 # [必须修改] zlm服务器的http.port 56 # [必须修改] zlm服务器的http.port
57 - http-port: 80 57 + http-port: ${ZLM_PORT:80}
58 # [可选] zlm服务器的hook.admin_params=secret 58 # [可选] zlm服务器的hook.admin_params=secret
59 secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc 59 secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc
60 # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试 60 # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试
@@ -67,8 +67,8 @@ media: @@ -67,8 +67,8 @@ media:
67 send-port-range: 30000,30500 # 端口范围 67 send-port-range: 30000,30500 # 端口范围
68 # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用 68 # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用
69 record-assist-port: 18081 69 record-assist-port: 18081
70 - sdp-ip: ${WVP_HOST}  
71 - stream-ip: ${WVP_HOST} 70 + sdp-ip: ${sip.ip}
  71 + stream-ip: ${sip.ip}
72 # [可选] 日志配置, 一般不需要改 72 # [可选] 日志配置, 一般不需要改
73 logging: 73 logging:
74 file: 74 file:
@@ -85,7 +85,7 @@ logging: @@ -85,7 +85,7 @@ logging:
85 user-settings: 85 user-settings:
86 # 推流直播是否录制 86 # 推流直播是否录制
87 record-push-live: true 87 record-push-live: true
88 - auto-apply-play: false 88 + auto-apply-play: true
89 89
90 # 在线文档: swagger-ui(生产环境建议关闭) 90 # 在线文档: swagger-ui(生产环境建议关闭)
91 swagger-ui: 91 swagger-ui: