Commit 7997e40ef67dcf6110712ae09480cbbf550bf67e

Authored by panll
Committed by Gitee
2 parents eb4716ba 78b39ebd

!2 新的dockerfile

Merge pull request !2 from hotcoffie/wvp-28181-2.0
docker/docker-compose.yml 0 → 100644
  1 +version: '3'
  2 +services:
  3 + redis:
  4 + image: redis
  5 + restart: always
  6 + volumes:
  7 + - ./redis/redis.conf:/etc/redis/redis_default.conf
  8 + - ./redis/data/:/data
  9 + environment:
  10 + TZ: "Asia/Shanghai"
  11 + command: redis-server /etc/redis/redis_default.conf --appendonly yes
  12 + wvp:
  13 + build:
  14 + context: ./wvp
  15 + args:
  16 + gitUrl: "https://gitee.com/xieyu1989"
  17 + zlmGitUrl: "https://gitee.com/xia-chu/ZLMediaKit"
  18 + restart: always
  19 + ports:
  20 + - "5060:5060"
  21 + - "5060:5060/udp"
  22 + - "18080:18080"
  23 + - "80:80"
  24 + - "10000:10000/tcp"
  25 + - "10000:10000/udp"
  26 + - "30000-30500:30000-30500/tcp"
  27 + - "30000-30500:30000-30500/udp"
  28 + volumes:
  29 + - ./video:/opt/media/www/record/
  30 + - ./logs/wvp:/opt/wvp/logs/
  31 + - ./logs/assist:/opt/assist/logs/
  32 + - ./logs/media:/opt/media/log/
  33 + environment:
  34 + TZ: "Asia/Shanghai"
  35 + # [必须修改] 本机的IP
  36 + WVP_HOST: 172.18.0.61
  37 + WVP_PWD: aseqw_+hiy123
  38 + WVP_DOMAIN: 6101130049
  39 + WVP_ID: 61011300490000000001
  40 + REDIS_HOST: redis
  41 + REDIS_PORT: 6379
  42 + REDIS_DB: 6
  43 + REDIS_PWD: root
  44 + ASSIST_CONFIG:
  45 + WVP_CONFIG:
  46 + depends_on:
  47 + - redis
docker/redis/redis.conf 0 → 100644
  1 +requirepass root
  2 +bind 0.0.0.0
docker/wvp/Dockerfile 0 → 100644
  1 +FROM ubuntu:20.04 AS build
  2 +
  3 +ARG gitUrl="https://gitee.com/18010473990"
  4 +ARG zlmGitUrl="https://gitee.com/xia-chu/ZLMediaKit"
  5 +
  6 +RUN export DEBIAN_FRONTEND=noninteractive &&\
  7 + apt-get update && \
  8 + apt-get install -y --no-install-recommends openjdk-11-jre git maven nodejs npm build-essential \
  9 + cmake ca-certificates openssl ffmpeg
  10 +
  11 +RUN cd /home && \
  12 + git clone "https://gitee.com/18010473990/maven.git" && \
  13 + cp maven/settings.xml /usr/share/maven/conf/ && \
  14 + git clone "${gitUrl}/wvp-GB28181.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
  18 +
  19 +RUN cd /home/wvp-GB28181/web_src && \
  20 + npm install && \
  21 + npm run build
  22 +
  23 +RUN cd /home/wvp-GB28181 && \
  24 + 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-dev.yml /opt/wvp/config/application.yml
  27 +
  28 +RUN cd /home/wvp-pro-assist && \
  29 + mvn clean package -Dmaven.test.skip=true && \
  30 + 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 +
  33 +RUN cd /home/ZLMediaKit && \
  34 + git submodule update --init --recursive && \
  35 + mkdir -p build release/linux/Release/ &&\
  36 + cd build && \
  37 + cmake -DCMAKE_BUILD_TYPE=Release .. && \
  38 + make -j4 && \
  39 + rm -rf ../release/linux/Release/config.ini && \
  40 + cp -r ../release/linux/Release/* /opt/media
  41 +
  42 +RUN cd /opt/wvp && \
  43 + echo '#!/bin/bash' > run.sh && \
  44 + echo 'echo ${WVP_IP}' >> run.sh && \
  45 + echo 'echo ${WVP_CONFIG}' >> run.sh && \
  46 + 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 && \
  48 + echo 'nohup /opt/media/MediaServer -d -m 3 &' >> run.sh && \
  49 + 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 && \
  51 + chmod +x run.sh
  52 +
  53 +FROM ubuntu:20.04
  54 +
  55 +EXPOSE 18080/tcp
  56 +EXPOSE 5060/tcp
  57 +EXPOSE 5060/udp
  58 +EXPOSE 6379/tcp
  59 +EXPOSE 18081/tcp
  60 +EXPOSE 80/tcp
  61 +EXPOSE 1935/tcp
  62 +EXPOSE 554/tcp
  63 +EXPOSE 554/udp
  64 +EXPOSE 30000-30500/tcp
  65 +EXPOSE 30000-30500/udp
  66 +
  67 +ENV LC_ALL zh_CN.UTF-8
  68 +
  69 +RUN export DEBIAN_FRONTEND=noninteractive &&\
  70 + apt-get update && \
  71 + apt-get install -y --no-install-recommends openjdk-11-jre ca-certificates ffmpeg language-pack-zh-hans && \
  72 + apt-get autoremove -y && \
  73 + apt-get clean -y && \
  74 + rm -rf /var/lib/apt/lists/*dic
  75 +
  76 +COPY --from=build /opt /opt
  77 +WORKDIR /opt/wvp
  78 +CMD ["sh", "run.sh"]
src/main/resources/application-dev.yml
@@ -2,13 +2,13 @@ spring: @@ -2,13 +2,13 @@ spring:
2 # REDIS数据库配置 2 # REDIS数据库配置
3 redis: 3 redis:
4 # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1 4 # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1
5 - host: 127.0.0.1 5 + host: ${REDIS_HOST:127.0.0.1}
6 # [必须修改] 端口号 6 # [必须修改] 端口号
7 - port: 6379 7 + port: ${REDIS_PORT:6379}
8 # [可选] 数据库 DB 8 # [可选] 数据库 DB
9 - database: 6 9 + database: ${REDIS_DB:6}
10 # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接 10 # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接
11 - password: 11 + password: ${REDIS_PWD}
12 # [可选] 超时时间 12 # [可选] 超时时间
13 timeout: 10000 13 timeout: 10000
14 # [可选] jdbc数据库配置, 项目使用sqlite作为数据库,一般不需要配置 14 # [可选] jdbc数据库配置, 项目使用sqlite作为数据库,一般不需要配置
@@ -36,18 +36,18 @@ server: @@ -36,18 +36,18 @@ server:
36 # 作为28181服务器的配置 36 # 作为28181服务器的配置
37 sip: 37 sip:
38 # [必须修改] 本机的IP 38 # [必须修改] 本机的IP
39 - ip: 192.168.0.100 39 + ip: ${WVP_HOST}
40 # [可选] 28181服务监听的端口 40 # [可选] 28181服务监听的端口
41 port: 5060 41 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标识山东济南历下区 信息行业接入
45 # [可选] 45 # [可选]
46 - domain: 4401020049 46 + domain: ${WVP_DOMAIN:4401020049}
47 # [可选] 47 # [可选]
48 - id: 44010200492000000001 48 + id: ${WVP_ID:44010200492000000001}
49 # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验 49 # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验
50 - password: admin123 50 + password: ${WVP_PWD:admin123}
51 51
52 #zlm 默认服务器配置 52 #zlm 默认服务器配置
53 media: 53 media:
@@ -66,8 +66,9 @@ media: @@ -66,8 +66,9 @@ media:
66 # [可选] 国标级联在此范围内选择端口发送媒体流, 66 # [可选] 国标级联在此范围内选择端口发送媒体流,
67 send-port-range: 30000,30500 # 端口范围 67 send-port-range: 30000,30500 # 端口范围
68 # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用 68 # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用
69 - record-assist-port: 0  
70 - 69 + record-assist-port: 18081
  70 + sdp-ip: ${WVP_HOST}
  71 + stream-ip: ${WVP_HOST}
71 # [可选] 日志配置, 一般不需要改 72 # [可选] 日志配置, 一般不需要改
72 logging: 73 logging:
73 file: 74 file:
@@ -84,6 +85,7 @@ logging: @@ -84,6 +85,7 @@ logging:
84 user-settings: 85 user-settings:
85 # 推流直播是否录制 86 # 推流直播是否录制
86 record-push-live: true 87 record-push-live: true
  88 + auto-apply-play: false
87 89
88 # 在线文档: swagger-ui(生产环境建议关闭) 90 # 在线文档: swagger-ui(生产环境建议关闭)
89 swagger-ui: 91 swagger-ui:
@@ -93,4 +95,4 @@ swagger-ui: @@ -93,4 +95,4 @@ swagger-ui:
93 version: 95 version:
94 version: "@project.version@" 96 version: "@project.version@"
95 description: "@project.description@" 97 description: "@project.description@"
96 - artifact-id: "@project.artifactId@"  
97 \ No newline at end of file 98 \ No newline at end of file
  99 + artifact-id: "@project.artifactId@"
src/main/resources/application.yml
1 spring: 1 spring:
2 profiles: 2 profiles:
3 - active: local  
4 \ No newline at end of file 3 \ No newline at end of file
  4 + active: dev