From 3534268854a60d5c0272b324d7a141f890e1adb5 Mon Sep 17 00:00:00 2001
From: xiaoxie <hotcoffie@163.com>
Date: 星期五, 05 十一月 2021 11:37:11 +0800
Subject: [PATCH] 尝试docker-compose启动
---
docker/docker-compose.yml | 45 +++++++++
docker/wvp/Dockerfile | 24 ++++
docker/assist/Dockerfile | 26 +++++
docker/redis/redis.conf | 2
src/main/resources/application-docker.yml | 97 +++++++++++++++++++
docker/zlm/Dockerfile | 63 ++++++++++++
6 files changed, 257 insertions(+), 0 deletions(-)
diff --git a/docker/assist/Dockerfile b/docker/assist/Dockerfile
new file mode 100644
index 0000000..c64775d
--- /dev/null
+++ b/docker/assist/Dockerfile
@@ -0,0 +1,26 @@
+FROM openjdk:11-jre-buster AS build
+ARG DEBIAN_FRONTEND=noninteractive
+RUN apt-get update && \
+ DEBIAN_FRONTEND="noninteractive" && \
+ apt-get install -y --no-install-recommends git maven && \
+ cd /home && \
+ git clone https://gitee.com/18010473990/maven.git && \
+ cp maven/settings.xml /usr/share/maven/conf/ && \
+ git clone https://gitee.com/xieyu1989/wvp-pro-assist.git &&\
+ cd /home/wvp-pro-assist
+ mvn clean package -Dmaven.test.skip=true && \
+ cp /home/wvp-pro-assist/target/*.jar /opt/assist/
+ cp /home/wvp-pro-assist/src/main/resources/application-docker.yml /opt/assist/conf/application.yml
+
+FROM ubuntu:20.04
+ARG DEBIAN_FRONTEND=noninteractive
+EXPOSE 18081/tcp
+RUN apt-get update && \
+ DEBIAN_FRONTEND="noninteractive" && \
+ apt-get install -y --no-install-recommends openjdk-11-jre-headless ca-certificates ffmpeg && \
+ apt-get autoremove -y && \
+ apt-get clean -y && \
+ rm -rf /var/lib/apt/lists/*dic
+COPY --from=build /opt /opt
+WORKDIR /opt/wvp
+CMD ["java", "-jar","*.jar","--spring.config.location=/opt/assist/conf/application.yml"]
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
new file mode 100644
index 0000000..8c6c176
--- /dev/null
+++ b/docker/docker-compose.yml
@@ -0,0 +1,45 @@
+version: '3'
+services:
+ redis:
+ image: redis
+ restart: always
+ volumes:
+ - ./redis/redis.conf:/etc/redis/redis_default.conf
+ - ./redis/data/:/data
+ environment:
+ TZ: "Asia/Shanghai"
+ command: redis-server /etc/redis/redis_default.conf --appendonly yes
+ zlm:
+ image: panjjo/zlmediakit
+ restart: always
+ volumes:
+ - ../video:/home/lin/server/ZLMediaKit/release/linux/Debug/www/record/
+ ports:
+ - "80:80"
+ - "10000:10000/tcp"
+ - "10000:10000/udp"
+ - "30000-30500:30000-30500/tcp"
+ - "30000-30500:30000-30500/udp"
+ environment:
+ TZ: "Asia/Shanghai"
+ assist:
+ build:
+ context: ./assist
+ restart: always
+ volumes:
+ - ./conf:/opt/assist/conf
+ - ../video:/home/lin/server/ZLMediaKit/release/linux/Debug/www/record/
+ environment:
+ TZ: "Asia/Shanghai"
+ wvp:
+ build:
+ context: ./wvp
+ restart: always
+ volumes:
+ - ./conf:/opt/wvp/conf
+ ports:
+ - "5060:5060"
+ - "5060:5060/udp"
+ - "18080:18080"
+ environment:
+ TZ: "Asia/Shanghai"
diff --git a/docker/redis/redis.conf b/docker/redis/redis.conf
new file mode 100644
index 0000000..c211f13
--- /dev/null
+++ b/docker/redis/redis.conf
@@ -0,0 +1,2 @@
+requirepass root
+bind 0.0.0.0
diff --git a/docker/wvp/Dockerfile b/docker/wvp/Dockerfile
new file mode 100644
index 0000000..4278c9f
--- /dev/null
+++ b/docker/wvp/Dockerfile
@@ -0,0 +1,24 @@
+FROM ubuntu:20.04 AS build
+RUN apt-get update && \
+ DEBIAN_FRONTEND="noninteractive" && \
+ apt-get install -y --no-install-recommends openjdk-11-jre-headless git maven nodejs npm &&\
+ cd /home &&\
+ git clone https://gitee.com/18010473990/maven.git && \
+ cp maven/settings.xml /usr/share/maven/conf/ && \
+ git clone https://gitee.com/xieyu1989/wvp-GB28181.git && \
+ cd /home/wvp-GB28181/web_src && \
+ npm install && \
+ npm run build && \
+ mkdir -p /opt/wvp/config && \
+ cd /home/wvp-GB28181 && \
+ mvn clean package -Dmaven.test.skip=true && \
+ cp src/main/resources/application-docker.yml /opt/wvp/conf/application.yml && \
+ cp target/wvp*.jar /opt/wvp/
+
+FROM openjdk:11-jre-buster
+EXPOSE 18080/tcp
+EXPOSE 5060:5060/tcp
+EXPOSE 5060:5060/udp
+COPY --from=build /opt /opt
+WORKDIR /opt/wvp
+CMD ["java", "-jar","*.jar","--spring.config.location=/opt/wvp/conf/application.yml"]
diff --git a/docker/zlm/Dockerfile b/docker/zlm/Dockerfile
new file mode 100644
index 0000000..ce3b649
--- /dev/null
+++ b/docker/zlm/Dockerfile
@@ -0,0 +1,63 @@
+FROM ubuntu:18.04 AS build
+#shell,rtmp,rtsp,rtsps,http,https,rtp
+EXPOSE 9000/tcp
+EXPOSE 1935/tcp
+EXPOSE 554/tcp
+EXPOSE 322/tcp
+EXPOSE 80/tcp
+EXPOSE 443/tcp
+EXPOSE 10000/udp
+EXPOSE 10000/tcp
+
+RUN apt-get update && \
+ DEBIAN_FRONTEND="noninteractive" \
+ apt-get install -y --no-install-recommends \
+ build-essential \
+ cmake \
+ git \
+ curl \
+ vim \
+ ca-certificates \
+ tzdata \
+ libssl-dev \
+ libmysqlclient-dev \
+ libx264-dev \
+ libfaac-dev \
+ libmp4v2-dev && \
+ apt-get autoremove -y && \
+ apt-get clean -y && \
+ rm -rf /var/lib/apt/lists/*
+
+RUN mkdir -p /opt/media
+
+WORKDIR /opt/media
+RUN git clone --depth=1 https://github.com/xia-chu/ZLMediaKit && \
+ cd ZLMediaKit && git submodule update --init --recursive && \
+ mkdir -p build release/linux/Release/
+
+WORKDIR /opt/media/ZLMediaKit/build
+RUN cmake -DCMAKE_BUILD_TYPE=Release .. && \
+ make
+
+FROM ubuntu:18.04
+LABEL maintainer "Gemfield <gemfield@civilnet.cn>"
+
+RUN apt-get update && \
+ DEBIAN_FRONTEND="noninteractive" \
+ apt-get install -y --no-install-recommends \
+ vim \
+ ca-certificates \
+ tzdata \
+ libssl-dev \
+ libx264-dev \
+ libfaac-dev \
+ ffmpeg \
+ libmp4v2-dev && \
+ apt-get autoremove -y && \
+ apt-get clean -y && \
+ rm -rf /var/lib/apt/lists/*
+
+WORKDIR /opt/media/bin/
+COPY --from=build /opt/media/ZLMediaKit/release/linux/Release/MediaServer /opt/media/bin/MediaServer
+ENV PATH /opt/media/bin:$PATH
+CMD MediaServer
diff --git a/src/main/resources/application-docker.yml b/src/main/resources/application-docker.yml
new file mode 100644
index 0000000..ba59e68
--- /dev/null
+++ b/src/main/resources/application-docker.yml
@@ -0,0 +1,97 @@
+spring:
+ # REDIS鏁版嵁搴撻厤缃�
+ redis:
+ # [蹇呴』淇敼] Redis鏈嶅姟鍣↖P, REDIS瀹夎鍦ㄦ湰鏈虹殑,浣跨敤127.0.0.1
+ host: redis
+ # [蹇呴』淇敼] 绔彛鍙�
+ port: 6379
+ # [鍙�塢 鏁版嵁搴� DB
+ database: 6
+ # [鍙�塢 璁块棶瀵嗙爜,鑻ヤ綘鐨剅edis鏈嶅姟鍣ㄦ病鏈夎缃瘑鐮侊紝灏变笉闇�瑕佺敤瀵嗙爜鍘昏繛鎺�
+ password: root
+ # [鍙�塢 瓒呮椂鏃堕棿
+ timeout: 10000
+ # [鍙�塢 jdbc鏁版嵁搴撻厤缃�, 椤圭洰浣跨敤sqlite浣滀负鏁版嵁搴擄紝涓�鑸笉闇�瑕侀厤缃�
+ datasource:
+ # 浣跨敤mysql 鎵撳紑23-28琛屾敞閲婏紝 鍒犻櫎29-36琛�
+ # name: wvp
+ # url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true
+ # username:
+ # password:
+ # type: com.alibaba.druid.pool.DruidDataSource
+ # driver-class-name: com.mysql.cj.jdbc.Driver
+ name: eiot
+ url: jdbc:sqlite::resource:wvp.sqlite
+ username:
+ password:
+ type: com.alibaba.druid.pool.DruidDataSource
+ driver-class-name: org.sqlite.JDBC
+ max-active: 1
+ min-idle: 1
+
+# [鍙�塢 WVP鐩戝惉鐨凥TTP绔彛, 缃戦〉鍜屾帴鍙h皟鐢ㄩ兘鏄繖涓鍙�
+server:
+ port: 18080
+
+# 浣滀负28181鏈嶅姟鍣ㄧ殑閰嶇疆
+sip:
+ # [蹇呴』淇敼] 鏈満鐨処P
+ ip: ${WVP_HOST:127.0.0.1}
+ # [鍙�塢 28181鏈嶅姟鐩戝惉鐨勭鍙�
+ port: 5060
+ # 鏍规嵁鍥芥爣6.1.2涓瀹氾紝domain瀹滈噰鐢↖D缁熶竴缂栫爜鐨勫墠鍗佷綅缂栫爜銆傚浗鏍囬檮褰旸涓畾涔夊墠8浣嶄负涓績缂栫爜锛堢敱鐪佺骇銆佸競绾с�佸尯绾с�佸熀灞傜紪鍙风粍鎴愶紝鍙傜収GB/T 2260-2007锛�
+ # 鍚庝袱浣嶄负琛屼笟缂栫爜锛屽畾涔夊弬鐓ч檮褰旸.3
+ # 3701020049鏍囪瘑灞变笢娴庡崡鍘嗕笅鍖� 淇℃伅琛屼笟鎺ュ叆
+ # [鍙�塢
+ domain: 6101130049
+ # [鍙�塢
+ id: 61011300490000000001
+ # [鍙�塢 榛樿璁惧璁よ瘉瀵嗙爜锛屽悗缁墿灞曚娇鐢ㄨ澶囧崟鐙瘑鐮�, 绉婚櫎瀵嗙爜灏嗕笉杩涜鏍¢獙
+ password: admin123
+
+#zlm 榛樿鏈嶅姟鍣ㄩ厤缃�
+media:
+ # [蹇呴』淇敼] zlm鏈嶅姟鍣ㄧ殑鍐呯綉IP
+ ip: zlm
+ # [蹇呴』淇敼] zlm鏈嶅姟鍣ㄧ殑http.port
+ http-port: 80
+ # [鍙�塢 zlm鏈嶅姟鍣ㄧ殑hook.admin_params=secret
+ secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc
+ # 鍚敤澶氱鍙fā寮�, 澶氱鍙fā寮忎娇鐢ㄧ鍙e尯鍒嗘瘡璺祦锛屽吋瀹规�ф洿濂姐�� 鍗曠鍙d娇鐢ㄦ祦鐨剆src鍖哄垎锛� 鐐规挱瓒呮椂寤鸿浣跨敤澶氱鍙f祴璇�
+ rtp:
+ # [鍙�塢 鏄惁鍚敤澶氱鍙fā寮�, 寮�鍚悗浼氬湪portRange鑼冨洿鍐呴�夋嫨绔彛鐢ㄤ簬濯掍綋娴佷紶杈�
+ enable: true
+ # [鍙�塢 鍦ㄦ鑼冨洿鍐呴�夋嫨绔彛鐢ㄤ簬濯掍綋娴佷紶杈�,
+ port-range: 30000,30500 # 绔彛鑼冨洿
+ # [鍙�塢 鍥芥爣绾ц仈鍦ㄦ鑼冨洿鍐呴�夋嫨绔彛鍙戦�佸獟浣撴祦,
+ send-port-range: 30000,30500 # 绔彛鑼冨洿
+ # 褰曞儚杈呭姪鏈嶅姟锛� 閮ㄧ讲姝ゆ湇鍔″彲浠ュ疄鐜皕lm褰曞儚鐨勭鐞嗕笌涓嬭浇锛� 0 琛ㄧず涓嶄娇鐢�
+ record-assist-port: 18081
+
+# [鍙�塢 鏃ュ織閰嶇疆, 涓�鑸笉闇�瑕佹敼
+logging:
+ file:
+ name: logs/wvp.log
+ max-history: 30
+ max-size: 10MB
+ total-size-cap: 300MB
+ level:
+ com.genersoft.iot: debug
+ com.genersoft.iot.vmp.storager.dao: info
+ com.genersoft.iot.vmp.gb28181: info
+
+# [鏍规嵁涓氬姟闇�姹傞厤缃甝
+user-settings:
+ # 鎺ㄦ祦鐩存挱鏄惁褰曞埗
+ record-push-live: true
+ auto-apply-play: false
+
+# 鍦ㄧ嚎鏂囨。锛� swagger-ui锛堢敓浜х幆澧冨缓璁叧闂級
+swagger-ui:
+ enabled: true
+
+# 鐗堟湰淇℃伅锛� 涓嶉渶淇敼
+version:
+ version: "@project.version@"
+ description: "@project.description@"
+ artifact-id: "@project.artifactId@"
--
Gitblit v1.8.0