Commit 77bf85342b9d5a7954c85f05a54e6a46d41f0bf6

Authored by 648540858
1 parent 3578c1c0

更新docker,更新readme

DOCKERFILE
1 -FROM ubuntu:19.10 1 +FROM ubuntu:20.04 AS build
  2 +
  3 +ARG DEBIAN_FRONTEND=noninteractive
  4 +ENV TZ=Asia/Shanghai
2 5
3 EXPOSE 18080/tcp 6 EXPOSE 18080/tcp
  7 +
4 EXPOSE 5060/tcp 8 EXPOSE 5060/tcp
  9 +EXPOSE 5060/udp
  10 +
  11 +EXPOSE 6379/tcp
  12 +
  13 +EXPOSE 18081/tcp
  14 +
  15 +EXPOSE 80/tcp
  16 +EXPOSE 1935/tcp
  17 +EXPOSE 554/tcp
  18 +EXPOSE 554/udp
  19 +EXPOSE 30000-30500/tcp
  20 +EXPOSE 30000-30500/udp
  21 +
  22 +ENV LC_ALL zh_CN.UTF-8
5 23
6 # 使用了自己的settings.xml作为maven的源,加快打包速度 24 # 使用了自己的settings.xml作为maven的源,加快打包速度
7 RUN apt-get update && \ 25 RUN apt-get update && \
8 - apt-get install -y --no-install-recommends openjdk-11-jre git maven nodejs npm && \  
9 - cd /home && \  
10 - git clone https://github.com/648540858/wiki.git && \  
11 - cp wiki/config/settings.xml /usr/share/maven/conf/ && \  
12 - git clone https://github.com/648540858/wvp-GB28181.git && \  
13 - cd /home/wvp-GB28181/web_src && \  
14 - npm install npm -g && \  
15 - npm install nrm -g && \  
16 - nrm use taobao && \  
17 - npm install && \ 26 + DEBIAN_FRONTEND="noninteractive" && \
  27 + apt-get install -y --no-install-recommends openjdk-11-jre git maven nodejs npm build-essential tcl language-pack-zh-hans \
  28 + cmake curl vim ca-certificates tzdata libmysqlclient-dev redis-server libssl-dev libx264-dev libfaac-dev ffmpeg
  29 +WORKDIR /home
  30 +
  31 +RUN git clone https://gitee.com/18010473990/maven.git && \
  32 + cp maven/settings.xml /usr/share/maven/conf/ && \
  33 + git clone https://gitee.com/18010473990/wvp-GB28181.git && \
  34 + git clone https://gitee.com/18010473990/wvp-pro-assist.git
  35 + # 编译前端界面
  36 +WORKDIR /home/wvp-GB28181/web_src
  37 +
  38 +RUN npm install && \
18 npm run build && \ 39 npm run build && \
19 mkdir -p /opt/wvp/config && \ 40 mkdir -p /opt/wvp/config && \
20 - cd /home/wvp-GB28181 && \  
21 - mvn compile && \ 41 + mkdir -p /opt/assist/config && \
  42 + cp /home/wvp-GB28181/src/main/resources/application-dev.yml /opt/wvp/config/application.yml && \
  43 + cp /home/wvp-pro-assist/src/main/resources/application-dev.yml /opt/assist/config/application.yml
  44 +
  45 +RUN npm install && \
  46 + npm run build && \
  47 + mkdir -p /opt/wvp/config && \
  48 + cp /home/wvp-GB28181/src/main/resources/application-dev.yml /opt/wvp/config/application.yml
  49 +
  50 + # wvp打包
  51 +WORKDIR /home/wvp-GB28181
  52 +RUN mvn compile && \
22 mvn package && \ 53 mvn package && \
23 - cp /home/wvp-GB28181/target/wvp-1.5.10.RELEASE.jar /opt/wvp/ && \  
24 - rm -rf /home/wiki && \ 54 + cp /home/wvp-GB28181/target/wvp*.jar /opt/wvp/
  55 +
  56 + # wvp 录像管理打包
  57 +WORKDIR /home/wvp-pro-assist
  58 +RUN mvn compile && \
  59 + mvn package && \
  60 + cp /home/wvp-pro-assist/target/*.jar /opt/assist/
  61 +
  62 + # zlm打包
  63 +WORKDIR /home
  64 +RUN mkdir -p /opt/media && \
  65 + git clone --depth=1 https://gitee.com/xia-chu/ZLMediaKit && \
  66 + cd ZLMediaKit && git submodule update --init --recursive && \
  67 + mkdir -p build release/linux/Release/ &&\
  68 + cd build && \
  69 + cmake -DCMAKE_BUILD_TYPE=Release .. && \
  70 + make -j4 && \
  71 + cp -r ../release/linux/Release/* /opt/media && \
  72 + mkdir -p /opt/media/www/record
  73 +
  74 +
  75 + # 清理
  76 + RUN rm -rf /home/wiki && \
25 rm -rf /home/wvp-GB28181 && \ 77 rm -rf /home/wvp-GB28181 && \
26 apt-get autoremove -y git maven nodejs npm && \ 78 apt-get autoremove -y git maven nodejs npm && \
27 apt-get clean -y && \ 79 apt-get clean -y && \
28 rm -rf /var/lib/apt/lists/*dic 80 rm -rf /var/lib/apt/lists/*dic
29 81
30 WORKDIR /opt/wvp 82 WORKDIR /opt/wvp
  83 +RUN echo '#!/bin/bash' > run.sh && \
  84 + echo 'echo ${WVP_IP}' >> run.sh && \
  85 + echo 'echo ${WVP_CONFIG}' >> run.sh && \
  86 + echo 'redis-server --daemonize yes --bind 0.0.0.0' >> run.sh && \
  87 + echo 'cd /opt/assist' >> run.sh && \
  88 + echo 'nohup java -jar *.jar --userSettings.record=/opt/media/www/record/ &' >> run.sh && \
  89 + echo 'nohup /opt/media/MediaServer -d -m 3 &' >> run.sh && \
  90 + echo 'cd /opt/wvp' >> run.sh && \
  91 + echo 'if [${WVP_CONFIG}]; then' >> run.sh && \
  92 + echo ' java -jar *.jar --spring.config.location=/opt/wvp/config/application.yml --media.record-assist-port=18081 ${WVP_CONFIG}' >> run.sh && \
  93 + echo 'else' >> run.sh && \
  94 + 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 && \
  95 + echo 'fi' >> run.sh
  96 +RUN chmod +x run.sh
  97 +
  98 +FROM ubuntu:20.04
  99 +
  100 +ARG DEBIAN_FRONTEND=noninteractive
  101 +ENV TZ=Asia/Shanghai
  102 +
  103 +EXPOSE 18080/tcp
  104 +
  105 +EXPOSE 5060/tcp
  106 +EXPOSE 5060/udp
31 107
32 -CMD java -jar wvp-1.5.10.RELEASE.jar --spring.config.location=/opt/wvp/config/application.yml  
33 \ No newline at end of file 108 \ No newline at end of file
  109 +EXPOSE 6379/tcp
  110 +
  111 +EXPOSE 18081/tcp
  112 +
  113 +EXPOSE 80/tcp
  114 +EXPOSE 1935/tcp
  115 +EXPOSE 554/tcp
  116 +EXPOSE 554/udp
  117 +EXPOSE 30000-30500/tcp
  118 +EXPOSE 30000-30500/udp
  119 +
  120 +ENV LC_ALL zh_CN.UTF-8
  121 +
  122 +RUN apt-get update && \
  123 + DEBIAN_FRONTEND="noninteractive" && \
  124 + apt-get install -y --no-install-recommends openjdk-11-jre tcl language-pack-zh-hans \
  125 + ca-certificates tzdata libmysqlclient21 redis-server libssl1.1 libx264-155 libfaac0 ffmpeg && \
  126 + apt-get autoremove -y && \
  127 + apt-get clean -y && \
  128 + rm -rf /var/lib/apt/lists/*dic
  129 +
  130 +WORKDIR /opt/wvp
  131 +COPY --from=build /opt /opt
  132 +CMD ["sh", "run.sh"]
34 \ No newline at end of file 133 \ No newline at end of file
README.md
@@ -13,7 +13,13 @@ WEB VIDEO PLATFORM銝銝芸鈭B28181-2016蝞勗 @@ -13,7 +13,13 @@ WEB VIDEO PLATFORM銝銝芸鈭B28181-2016蝞勗
13 瘚鈭LMediaKit-https://github.com/xiongziliang/ZLMediaKit 13 瘚鈭LMediaKit-https://github.com/xiongziliang/ZLMediaKit
14 14
15 垢憿菟鈭ediaServerUI餈耨. 15 垢憿菟鈭ediaServerUI餈耨.
  16 +# 敹恍
  17 +```shell
  18 +docker pull 648540858/wvp_pro
16 19
  20 +docker run --env WVP_IP="雿P" -it -p 18080:18080 -p 30000-30500:30000-30500/udp -p 30000-30500:30000-30500/tcp -p 80:80 -p 5060:5060 -p 5060:5060/udp wvp_pro
  21 +```
  22 +docker雿輻霂行https://hub.docker.com/r/648540858/wvp_pro](https://hub.docker.com/r/648540858/wvp_pro)
17 # 摨嚗 23 # 摨嚗
18 辣仍閫 24 辣仍閫
19 像VR蝑挽憭 25 像VR蝑挽憭
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
@@ -87,12 +87,8 @@ public class RegisterRequestProcessor extends SIPRequestAbstractProcessor { @@ -87,12 +87,8 @@ public class RegisterRequestProcessor extends SIPRequestAbstractProcessor {
87 87
88 // 未携带授权头或者密码错误 回复401 88 // 未携带授权头或者密码错误 回复401
89 if (authorhead == null ) { 89 if (authorhead == null ) {
90 -  
91 - if (authorhead == null) {  
92 - logger.info("[{}] 未携带授权头 回复401", requestAddress);  
93 - } else if (!passwordCorrect) {  
94 - logger.info("[{}] 密码错误 回复401", requestAddress);  
95 - } 90 +
  91 + logger.info("[{}] 未携带授权头 回复401", requestAddress);
96 response = getMessageFactory().createResponse(Response.UNAUTHORIZED, request); 92 response = getMessageFactory().createResponse(Response.UNAUTHORIZED, request);
97 new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getDomain()); 93 new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getDomain());
98 }else { 94 }else {
@@ -100,6 +96,7 @@ public class RegisterRequestProcessor extends SIPRequestAbstractProcessor { @@ -100,6 +96,7 @@ public class RegisterRequestProcessor extends SIPRequestAbstractProcessor {
100 // 注册失败 96 // 注册失败
101 response = getMessageFactory().createResponse(Response.FORBIDDEN, request); 97 response = getMessageFactory().createResponse(Response.FORBIDDEN, request);
102 response.setReasonPhrase("wrong password"); 98 response.setReasonPhrase("wrong password");
  99 + logger.info("[{}] 密码错误 回复403", requestAddress);
103 }else { 100 }else {
104 // 携带授权头并且密码正确 101 // 携带授权头并且密码正确
105 response = getMessageFactory().createResponse(Response.OK, request); 102 response = getMessageFactory().createResponse(Response.OK, request);
src/main/resources/application-dev.yml
@@ -52,7 +52,7 @@ sip: @@ -52,7 +52,7 @@ sip:
52 #zlm 默认服务器配置 52 #zlm 默认服务器配置
53 media: 53 media:
54 # [必须修改] zlm服务器的内网IP 54 # [必须修改] zlm服务器的内网IP
55 - ip: 192.168.0.100 55 + ip: 127.0.0.1
56 # [必须修改] zlm服务器的http.port 56 # [必须修改] zlm服务器的http.port
57 http-port: 80 57 http-port: 80
58 # [可选] zlm服务器的hook.admin_params=secret 58 # [可选] zlm服务器的hook.admin_params=secret