Commit 3534268854a60d5c0272b324d7a141f890e1adb5
1 parent
c33bf822
尝试docker-compose启动
Showing
6 changed files
with
257 additions
and
0 deletions
docker/assist/Dockerfile
0 → 100644
| 1 | +FROM openjdk:11-jre-buster AS build | ||
| 2 | +ARG DEBIAN_FRONTEND=noninteractive | ||
| 3 | +RUN apt-get update && \ | ||
| 4 | + DEBIAN_FRONTEND="noninteractive" && \ | ||
| 5 | + apt-get install -y --no-install-recommends git maven && \ | ||
| 6 | + cd /home && \ | ||
| 7 | + git clone https://gitee.com/18010473990/maven.git && \ | ||
| 8 | + cp maven/settings.xml /usr/share/maven/conf/ && \ | ||
| 9 | + git clone https://gitee.com/xieyu1989/wvp-pro-assist.git &&\ | ||
| 10 | + cd /home/wvp-pro-assist | ||
| 11 | + mvn clean package -Dmaven.test.skip=true && \ | ||
| 12 | + cp /home/wvp-pro-assist/target/*.jar /opt/assist/ | ||
| 13 | + cp /home/wvp-pro-assist/src/main/resources/application-docker.yml /opt/assist/conf/application.yml | ||
| 14 | + | ||
| 15 | +FROM ubuntu:20.04 | ||
| 16 | +ARG DEBIAN_FRONTEND=noninteractive | ||
| 17 | +EXPOSE 18081/tcp | ||
| 18 | +RUN apt-get update && \ | ||
| 19 | + DEBIAN_FRONTEND="noninteractive" && \ | ||
| 20 | + apt-get install -y --no-install-recommends openjdk-11-jre-headless ca-certificates ffmpeg && \ | ||
| 21 | + apt-get autoremove -y && \ | ||
| 22 | + apt-get clean -y && \ | ||
| 23 | + rm -rf /var/lib/apt/lists/*dic | ||
| 24 | +COPY --from=build /opt /opt | ||
| 25 | +WORKDIR /opt/wvp | ||
| 26 | +CMD ["java", "-jar","*.jar","--spring.config.location=/opt/assist/conf/application.yml"] |
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 | + zlm: | ||
| 13 | + image: panjjo/zlmediakit | ||
| 14 | + restart: always | ||
| 15 | + volumes: | ||
| 16 | + - ../video:/home/lin/server/ZLMediaKit/release/linux/Debug/www/record/ | ||
| 17 | + ports: | ||
| 18 | + - "80:80" | ||
| 19 | + - "10000:10000/tcp" | ||
| 20 | + - "10000:10000/udp" | ||
| 21 | + - "30000-30500:30000-30500/tcp" | ||
| 22 | + - "30000-30500:30000-30500/udp" | ||
| 23 | + environment: | ||
| 24 | + TZ: "Asia/Shanghai" | ||
| 25 | + assist: | ||
| 26 | + build: | ||
| 27 | + context: ./assist | ||
| 28 | + restart: always | ||
| 29 | + volumes: | ||
| 30 | + - ./conf:/opt/assist/conf | ||
| 31 | + - ../video:/home/lin/server/ZLMediaKit/release/linux/Debug/www/record/ | ||
| 32 | + environment: | ||
| 33 | + TZ: "Asia/Shanghai" | ||
| 34 | + wvp: | ||
| 35 | + build: | ||
| 36 | + context: ./wvp | ||
| 37 | + restart: always | ||
| 38 | + volumes: | ||
| 39 | + - ./conf:/opt/wvp/conf | ||
| 40 | + ports: | ||
| 41 | + - "5060:5060" | ||
| 42 | + - "5060:5060/udp" | ||
| 43 | + - "18080:18080" | ||
| 44 | + environment: | ||
| 45 | + TZ: "Asia/Shanghai" |
docker/redis/redis.conf
0 → 100644
docker/wvp/Dockerfile
0 → 100644
| 1 | +FROM ubuntu:20.04 AS build | ||
| 2 | +RUN apt-get update && \ | ||
| 3 | + DEBIAN_FRONTEND="noninteractive" && \ | ||
| 4 | + apt-get install -y --no-install-recommends openjdk-11-jre-headless git maven nodejs npm &&\ | ||
| 5 | + cd /home &&\ | ||
| 6 | + git clone https://gitee.com/18010473990/maven.git && \ | ||
| 7 | + cp maven/settings.xml /usr/share/maven/conf/ && \ | ||
| 8 | + git clone https://gitee.com/xieyu1989/wvp-GB28181.git && \ | ||
| 9 | + cd /home/wvp-GB28181/web_src && \ | ||
| 10 | + npm install && \ | ||
| 11 | + npm run build && \ | ||
| 12 | + mkdir -p /opt/wvp/config && \ | ||
| 13 | + cd /home/wvp-GB28181 && \ | ||
| 14 | + mvn clean package -Dmaven.test.skip=true && \ | ||
| 15 | + cp src/main/resources/application-docker.yml /opt/wvp/conf/application.yml && \ | ||
| 16 | + cp target/wvp*.jar /opt/wvp/ | ||
| 17 | + | ||
| 18 | +FROM openjdk:11-jre-buster | ||
| 19 | +EXPOSE 18080/tcp | ||
| 20 | +EXPOSE 5060:5060/tcp | ||
| 21 | +EXPOSE 5060:5060/udp | ||
| 22 | +COPY --from=build /opt /opt | ||
| 23 | +WORKDIR /opt/wvp | ||
| 24 | +CMD ["java", "-jar","*.jar","--spring.config.location=/opt/wvp/conf/application.yml"] |
docker/zlm/Dockerfile
0 → 100644
| 1 | +FROM ubuntu:18.04 AS build | ||
| 2 | +#shell,rtmp,rtsp,rtsps,http,https,rtp | ||
| 3 | +EXPOSE 9000/tcp | ||
| 4 | +EXPOSE 1935/tcp | ||
| 5 | +EXPOSE 554/tcp | ||
| 6 | +EXPOSE 322/tcp | ||
| 7 | +EXPOSE 80/tcp | ||
| 8 | +EXPOSE 443/tcp | ||
| 9 | +EXPOSE 10000/udp | ||
| 10 | +EXPOSE 10000/tcp | ||
| 11 | + | ||
| 12 | +RUN apt-get update && \ | ||
| 13 | + DEBIAN_FRONTEND="noninteractive" \ | ||
| 14 | + apt-get install -y --no-install-recommends \ | ||
| 15 | + build-essential \ | ||
| 16 | + cmake \ | ||
| 17 | + git \ | ||
| 18 | + curl \ | ||
| 19 | + vim \ | ||
| 20 | + ca-certificates \ | ||
| 21 | + tzdata \ | ||
| 22 | + libssl-dev \ | ||
| 23 | + libmysqlclient-dev \ | ||
| 24 | + libx264-dev \ | ||
| 25 | + libfaac-dev \ | ||
| 26 | + libmp4v2-dev && \ | ||
| 27 | + apt-get autoremove -y && \ | ||
| 28 | + apt-get clean -y && \ | ||
| 29 | + rm -rf /var/lib/apt/lists/* | ||
| 30 | + | ||
| 31 | +RUN mkdir -p /opt/media | ||
| 32 | + | ||
| 33 | +WORKDIR /opt/media | ||
| 34 | +RUN git clone --depth=1 https://github.com/xia-chu/ZLMediaKit && \ | ||
| 35 | + cd ZLMediaKit && git submodule update --init --recursive && \ | ||
| 36 | + mkdir -p build release/linux/Release/ | ||
| 37 | + | ||
| 38 | +WORKDIR /opt/media/ZLMediaKit/build | ||
| 39 | +RUN cmake -DCMAKE_BUILD_TYPE=Release .. && \ | ||
| 40 | + make | ||
| 41 | + | ||
| 42 | +FROM ubuntu:18.04 | ||
| 43 | +LABEL maintainer "Gemfield <gemfield@civilnet.cn>" | ||
| 44 | + | ||
| 45 | +RUN apt-get update && \ | ||
| 46 | + DEBIAN_FRONTEND="noninteractive" \ | ||
| 47 | + apt-get install -y --no-install-recommends \ | ||
| 48 | + vim \ | ||
| 49 | + ca-certificates \ | ||
| 50 | + tzdata \ | ||
| 51 | + libssl-dev \ | ||
| 52 | + libx264-dev \ | ||
| 53 | + libfaac-dev \ | ||
| 54 | + ffmpeg \ | ||
| 55 | + libmp4v2-dev && \ | ||
| 56 | + apt-get autoremove -y && \ | ||
| 57 | + apt-get clean -y && \ | ||
| 58 | + rm -rf /var/lib/apt/lists/* | ||
| 59 | + | ||
| 60 | +WORKDIR /opt/media/bin/ | ||
| 61 | +COPY --from=build /opt/media/ZLMediaKit/release/linux/Release/MediaServer /opt/media/bin/MediaServer | ||
| 62 | +ENV PATH /opt/media/bin:$PATH | ||
| 63 | +CMD MediaServer |
src/main/resources/application-docker.yml
0 → 100644
| 1 | +spring: | ||
| 2 | + # REDIS数据库配置 | ||
| 3 | + redis: | ||
| 4 | + # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1 | ||
| 5 | + host: redis | ||
| 6 | + # [必须修改] 端口号 | ||
| 7 | + port: 6379 | ||
| 8 | + # [可选] 数据库 DB | ||
| 9 | + database: 6 | ||
| 10 | + # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接 | ||
| 11 | + password: root | ||
| 12 | + # [可选] 超时时间 | ||
| 13 | + timeout: 10000 | ||
| 14 | + # [可选] jdbc数据库配置, 项目使用sqlite作为数据库,一般不需要配置 | ||
| 15 | + datasource: | ||
| 16 | + # 使用mysql 打开23-28行注释, 删除29-36行 | ||
| 17 | + # name: wvp | ||
| 18 | + # url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true | ||
| 19 | + # username: | ||
| 20 | + # password: | ||
| 21 | + # type: com.alibaba.druid.pool.DruidDataSource | ||
| 22 | + # driver-class-name: com.mysql.cj.jdbc.Driver | ||
| 23 | + name: eiot | ||
| 24 | + url: jdbc:sqlite::resource:wvp.sqlite | ||
| 25 | + username: | ||
| 26 | + password: | ||
| 27 | + type: com.alibaba.druid.pool.DruidDataSource | ||
| 28 | + driver-class-name: org.sqlite.JDBC | ||
| 29 | + max-active: 1 | ||
| 30 | + min-idle: 1 | ||
| 31 | + | ||
| 32 | +# [可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口 | ||
| 33 | +server: | ||
| 34 | + port: 18080 | ||
| 35 | + | ||
| 36 | +# 作为28181服务器的配置 | ||
| 37 | +sip: | ||
| 38 | + # [必须修改] 本机的IP | ||
| 39 | + ip: ${WVP_HOST:127.0.0.1} | ||
| 40 | + # [可选] 28181服务监听的端口 | ||
| 41 | + port: 5060 | ||
| 42 | + # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007) | ||
| 43 | + # 后两位为行业编码,定义参照附录D.3 | ||
| 44 | + # 3701020049标识山东济南历下区 信息行业接入 | ||
| 45 | + # [可选] | ||
| 46 | + domain: 6101130049 | ||
| 47 | + # [可选] | ||
| 48 | + id: 61011300490000000001 | ||
| 49 | + # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验 | ||
| 50 | + password: admin123 | ||
| 51 | + | ||
| 52 | +#zlm 默认服务器配置 | ||
| 53 | +media: | ||
| 54 | + # [必须修改] zlm服务器的内网IP | ||
| 55 | + ip: zlm | ||
| 56 | + # [必须修改] zlm服务器的http.port | ||
| 57 | + http-port: 80 | ||
| 58 | + # [可选] zlm服务器的hook.admin_params=secret | ||
| 59 | + secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc | ||
| 60 | + # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试 | ||
| 61 | + rtp: | ||
| 62 | + # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输 | ||
| 63 | + enable: true | ||
| 64 | + # [可选] 在此范围内选择端口用于媒体流传输, | ||
| 65 | + port-range: 30000,30500 # 端口范围 | ||
| 66 | + # [可选] 国标级联在此范围内选择端口发送媒体流, | ||
| 67 | + send-port-range: 30000,30500 # 端口范围 | ||
| 68 | + # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用 | ||
| 69 | + record-assist-port: 18081 | ||
| 70 | + | ||
| 71 | +# [可选] 日志配置, 一般不需要改 | ||
| 72 | +logging: | ||
| 73 | + file: | ||
| 74 | + name: logs/wvp.log | ||
| 75 | + max-history: 30 | ||
| 76 | + max-size: 10MB | ||
| 77 | + total-size-cap: 300MB | ||
| 78 | + level: | ||
| 79 | + com.genersoft.iot: debug | ||
| 80 | + com.genersoft.iot.vmp.storager.dao: info | ||
| 81 | + com.genersoft.iot.vmp.gb28181: info | ||
| 82 | + | ||
| 83 | +# [根据业务需求配置] | ||
| 84 | +user-settings: | ||
| 85 | + # 推流直播是否录制 | ||
| 86 | + record-push-live: true | ||
| 87 | + auto-apply-play: false | ||
| 88 | + | ||
| 89 | +# 在线文档: swagger-ui(生产环境建议关闭) | ||
| 90 | +swagger-ui: | ||
| 91 | + enabled: true | ||
| 92 | + | ||
| 93 | +# 版本信息, 不需修改 | ||
| 94 | +version: | ||
| 95 | + version: "@project.version@" | ||
| 96 | + description: "@project.description@" | ||
| 97 | + artifact-id: "@project.artifactId@" |