Commit 3534268854a60d5c0272b324d7a141f890e1adb5

Authored by xiaoxie
1 parent c33bf822

尝试docker-compose启动

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
  1 +requirepass root
  2 +bind 0.0.0.0
... ...
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@"
... ...