Commit 7997e40ef67dcf6110712ae09480cbbf550bf67e
Committed by
Gitee
!2 新的dockerfile
Merge pull request !2 from hotcoffie/wvp-28181-2.0
Showing
5 changed files
with
141 additions
and
12 deletions
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
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 | 2 | # REDIS数据库配置 |
| 3 | 3 | redis: |
| 4 | 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 | 8 | # [可选] 数据库 DB |
| 9 | - database: 6 | |
| 9 | + database: ${REDIS_DB:6} | |
| 10 | 10 | # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接 |
| 11 | - password: | |
| 11 | + password: ${REDIS_PWD} | |
| 12 | 12 | # [可选] 超时时间 |
| 13 | 13 | timeout: 10000 |
| 14 | 14 | # [可选] jdbc数据库配置, 项目使用sqlite作为数据库,一般不需要配置 |
| ... | ... | @@ -36,18 +36,18 @@ server: |
| 36 | 36 | # 作为28181服务器的配置 |
| 37 | 37 | sip: |
| 38 | 38 | # [必须修改] 本机的IP |
| 39 | - ip: 192.168.0.100 | |
| 39 | + ip: ${WVP_HOST} | |
| 40 | 40 | # [可选] 28181服务监听的端口 |
| 41 | 41 | port: 5060 |
| 42 | 42 | # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007) |
| 43 | 43 | # 后两位为行业编码,定义参照附录D.3 |
| 44 | 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 | 52 | #zlm 默认服务器配置 |
| 53 | 53 | media: |
| ... | ... | @@ -66,8 +66,9 @@ media: |
| 66 | 66 | # [可选] 国标级联在此范围内选择端口发送媒体流, |
| 67 | 67 | send-port-range: 30000,30500 # 端口范围 |
| 68 | 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 | 73 | logging: |
| 73 | 74 | file: |
| ... | ... | @@ -84,6 +85,7 @@ logging: |
| 84 | 85 | user-settings: |
| 85 | 86 | # 推流直播是否录制 |
| 86 | 87 | record-push-live: true |
| 88 | + auto-apply-play: false | |
| 87 | 89 | |
| 88 | 90 | # 在线文档: swagger-ui(生产环境建议关闭) |
| 89 | 91 | swagger-ui: |
| ... | ... | @@ -93,4 +95,4 @@ swagger-ui: |
| 93 | 95 | version: |
| 94 | 96 | version: "@project.version@" |
| 95 | 97 | description: "@project.description@" |
| 96 | - artifact-id: "@project.artifactId@" | |
| 97 | 98 | \ No newline at end of file |
| 99 | + artifact-id: "@project.artifactId@" | ... | ... |