xiaoxie
3 years ago
5 changed files with 231 additions and 3 deletions
@ -0,0 +1,47 @@ |
|||||
|
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 |
||||
|
wvp: |
||||
|
build: |
||||
|
context: ./wvp |
||||
|
args: |
||||
|
gitUrl: "https://gitee.com/pan648540858" |
||||
|
zlmGitUrl: "https://gitee.com/xia-chu/ZLMediaKit" |
||||
|
restart: always |
||||
|
ports: |
||||
|
- "5060:5060" |
||||
|
- "5060:5060/udp" |
||||
|
- "18080:18080" |
||||
|
- "80:80" |
||||
|
- "10000:10000/tcp" |
||||
|
- "10000:10000/udp" |
||||
|
- "30000-30500:30000-30500/tcp" |
||||
|
- "30000-30500:30000-30500/udp" |
||||
|
volumes: |
||||
|
- ./video:/opt/media/www/record/ |
||||
|
- ./logs/wvp:/opt/wvp/logs/ |
||||
|
- ./logs/assist:/opt/assist/logs/ |
||||
|
- ./logs/media:/opt/media/log/ |
||||
|
environment: |
||||
|
TZ: "Asia/Shanghai" |
||||
|
# [必须修改] 本机的IP |
||||
|
WVP_HOST: 172.18.0.61 |
||||
|
WVP_PWD: aseqw_+hiy123 |
||||
|
WVP_DOMAIN: 6101130049 |
||||
|
WVP_ID: 61011300490000000001 |
||||
|
REDIS_HOST: redis |
||||
|
REDIS_PORT: 6379 |
||||
|
REDIS_DB: 6 |
||||
|
REDIS_PWD: root |
||||
|
ASSIST_CONFIG: |
||||
|
WVP_CONFIG: |
||||
|
depends_on: |
||||
|
- redis |
@ -0,0 +1,2 @@ |
|||||
|
requirepass root |
||||
|
bind 0.0.0.0 |
@ -0,0 +1,81 @@ |
|||||
|
FROM ubuntu:20.04 as build |
||||
|
|
||||
|
ARG gitUrl="https://gitee.com/pan648540858" |
||||
|
ARG zlmGitUrl="https://gitee.com/xia-chu/ZLMediaKit" |
||||
|
|
||||
|
RUN export DEBIAN_FRONTEND=noninteractive &&\ |
||||
|
apt-get update && \ |
||||
|
apt-get install -y --no-install-recommends openjdk-11-jre git maven nodejs npm build-essential \ |
||||
|
cmake ca-certificates openssl ffmpeg &&\ |
||||
|
mkdir -p /opt/wvp/config /opt/wvp/heapdump /opt/wvp/config /opt/assist/config /opt/assist/heapdump /opt/media/www/record |
||||
|
|
||||
|
RUN cd /home && \ |
||||
|
git clone "${gitUrl}/maven.git" && \ |
||||
|
cp maven/settings.xml /usr/share/maven/conf/ |
||||
|
|
||||
|
RUN cd /home && \ |
||||
|
git clone "${gitUrl}/wvp-GB28181-pro.git" |
||||
|
RUN cd /home/wvp-GB28181-pro/web_src && \ |
||||
|
npm install && \ |
||||
|
npm run build |
||||
|
RUN cd /home/wvp-GB28181-pro && \ |
||||
|
mvn clean package -Dmaven.test.skip=true && \ |
||||
|
cp /home/wvp-GB28181-pro/target/*.jar /opt/wvp/ && \ |
||||
|
cp /home/wvp-GB28181-pro/src/main/resources/application-docker.yml /opt/wvp/config/application.yml |
||||
|
|
||||
|
RUN cd /home && \ |
||||
|
git clone "${gitUrl}/wvp-pro-assist.git" |
||||
|
RUN cd /home/wvp-pro-assist && \ |
||||
|
git reset --hard 58f1a79136a55a7cd1593c95b56ddadcc2225b61 && \ |
||||
|
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-dev.yml /opt/assist/config/application.yml |
||||
|
|
||||
|
RUN cd /home && \ |
||||
|
git clone --depth=1 "${zlmGitUrl}" |
||||
|
RUN cd /home/ZLMediaKit && \ |
||||
|
git submodule update --init --recursive && \ |
||||
|
mkdir -p build release/linux/Release/ &&\ |
||||
|
cd build && \ |
||||
|
cmake -DCMAKE_BUILD_TYPE=Release .. && \ |
||||
|
make -j4 && \ |
||||
|
rm -rf ../release/linux/Release/config.ini && \ |
||||
|
cp -r ../release/linux/Release/* /opt/media |
||||
|
|
||||
|
RUN cd /opt/wvp && \ |
||||
|
echo '#!/bin/bash' > run.sh && \ |
||||
|
echo 'echo ${WVP_IP}' >> run.sh && \ |
||||
|
echo 'echo ${WVP_CONFIG}' >> run.sh && \ |
||||
|
echo 'cd /opt/assist' >> run.sh && \ |
||||
|
echo 'nohup java -Xms128m -Xmx256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/assist/heapdump/ -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 && \ |
||||
|
echo 'nohup /opt/media/MediaServer -d -m 3 &' >> run.sh && \ |
||||
|
echo 'cd /opt/wvp' >> run.sh && \ |
||||
|
echo 'java -Xms128m -Xmx256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/wvp/heapdump/ -jar *.jar --spring.config.location=/opt/wvp/config/application.yml --media.record-assist-port=18081 ${WVP_CONFIG}' >> run.sh && \ |
||||
|
chmod +x run.sh |
||||
|
|
||||
|
FROM ubuntu:20.04 |
||||
|
|
||||
|
EXPOSE 18080/tcp |
||||
|
EXPOSE 5060/tcp |
||||
|
EXPOSE 5060/udp |
||||
|
EXPOSE 6379/tcp |
||||
|
EXPOSE 18081/tcp |
||||
|
EXPOSE 80/tcp |
||||
|
EXPOSE 1935/tcp |
||||
|
EXPOSE 554/tcp |
||||
|
EXPOSE 554/udp |
||||
|
EXPOSE 30000-30500/tcp |
||||
|
EXPOSE 30000-30500/udp |
||||
|
|
||||
|
ENV LC_ALL zh_CN.UTF-8 |
||||
|
|
||||
|
RUN export DEBIAN_FRONTEND=noninteractive &&\ |
||||
|
apt-get update && \ |
||||
|
apt-get install -y --no-install-recommends openjdk-11-jre ca-certificates ffmpeg language-pack-zh-hans && \ |
||||
|
apt-get autoremove -y && \ |
||||
|
apt-get clean -y && \ |
||||
|
rm -rf /var/lib/apt/lists/*dic |
||||
|
|
||||
|
COPY --from=build /opt /opt |
||||
|
WORKDIR /opt/wvp |
||||
|
CMD ["sh", "run.sh"] |
@ -0,0 +1,98 @@ |
|||||
|
spring: |
||||
|
# REDIS数据库配置 |
||||
|
redis: |
||||
|
# [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1 |
||||
|
host: ${REDIS_HOST:127.0.0.1} |
||||
|
# [必须修改] 端口号 |
||||
|
port: ${REDIS_PORT:6379} |
||||
|
# [可选] 数据库 DB |
||||
|
database: ${REDIS_DB:6} |
||||
|
# [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接 |
||||
|
password: ${REDIS_PWD:} |
||||
|
# [可选] 超时时间 |
||||
|
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监听的HTTP端口, 网页和接口调用都是这个端口 |
||||
|
server: |
||||
|
port: 18080 |
||||
|
|
||||
|
# 作为28181服务器的配置 |
||||
|
sip: |
||||
|
# [必须修改] 本机的IP |
||||
|
ip: ${WVP_HOST:127.0.0.1} |
||||
|
# [可选] 28181服务监听的端口 |
||||
|
port: ${WVP_PORT:5060} |
||||
|
# 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007) |
||||
|
# 后两位为行业编码,定义参照附录D.3 |
||||
|
# 3701020049标识山东济南历下区 信息行业接入 |
||||
|
# [可选] |
||||
|
domain: ${WVP_DOMAIN:4401020049} |
||||
|
# [可选] |
||||
|
id: ${WVP_ID:44010200492000000001} |
||||
|
# [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验 |
||||
|
password: ${WVP_PWD:admin123} |
||||
|
|
||||
|
#zlm 默认服务器配置 |
||||
|
media: |
||||
|
# [必须修改] zlm服务器的内网IP |
||||
|
ip: ${ZLM_HOST:127.0.0.1} |
||||
|
# [必须修改] zlm服务器的http.port |
||||
|
http-port: ${ZLM_PORT:80} |
||||
|
# [可选] zlm服务器的hook.admin_params=secret |
||||
|
secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc |
||||
|
# 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试 |
||||
|
rtp: |
||||
|
# [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输 |
||||
|
enable: true |
||||
|
# [可选] 在此范围内选择端口用于媒体流传输, |
||||
|
port-range: 30000,30500 # 端口范围 |
||||
|
# [可选] 国标级联在此范围内选择端口发送媒体流, |
||||
|
send-port-range: 30000,30500 # 端口范围 |
||||
|
# 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用 |
||||
|
record-assist-port: 18081 |
||||
|
sdp-ip: ${sip.ip} |
||||
|
stream-ip: ${sip.ip} |
||||
|
# [可选] 日志配置, 一般不需要改 |
||||
|
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@" |
Loading…
Reference in new issue