|  |  |  | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | 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 && \ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | cd /home && \ | 
|---|
|  |  |  | git clone https://gitee.com/18010473990/maven.git && \ | 
|---|
|  |  |  | cp maven/settings.xml /usr/share/maven/conf/ && \ | 
|---|
|  |  |  | git clone https://gitee.com/18010473990/wvp-GB28181.git && \ | 
|---|
|  |  |  | git clone https://gitee.com/18010473990/wvp-pro-assist.git && \ | 
|---|
|  |  |  | git clone --depth=1 https://gitee.com/xia-chu/ZLMediaKit && \ | 
|---|
|  |  |  | mkdir -p /opt/wvp/config /opt/assist/config /opt/media/www/record && \ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | cd /home/wvp-GB28181/web_src && \ | 
|---|
|  |  |  | npm install && \ | 
|---|
|  |  |  | npm run build && \ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | cd /home/wvp-GB28181 && \ | 
|---|
|  |  |  | mvn clean package -Dmaven.test.skip=true && \ | 
|---|
|  |  |  | cp /home/wvp-GB28181/target/*.jar /opt/wvp/ && \ | 
|---|
|  |  |  | cp /home/wvp-GB28181/src/main/resources/application-dev.yml /opt/wvp/config/application.yml && \ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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-dev.yml /opt/assist/config/application.yml && \ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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 && \ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | cd /opt/wvp && \ | 
|---|
|  |  |  | echo '#!/bin/bash' > run.sh && \ | 
|---|
|  |  |  | echo 'echo ${WVP_IP}' >> run.sh && \ | 
|---|
|  |  |  | echo 'echo ${WVP_CONFIG}' >> run.sh && \ | 
|---|
|  |  |  | echo 'redis-server --daemonize yes --bind 0.0.0.0' >> run.sh && \ | 
|---|
|  |  |  | echo 'cd /opt/assist' >> run.sh && \ | 
|---|
|  |  |  | 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 && \ | 
|---|
|  |  |  | echo 'nohup /opt/media/MediaServer -d -m 3 &' >> run.sh && \ | 
|---|
|  |  |  | echo 'cd /opt/wvp' >> run.sh && \ | 
|---|
|  |  |  | echo 'java -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:5060/tcp | 
|---|
|  |  |  | EXPOSE 5060:5060/udp | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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 ["java", "-jar","*.jar","--spring.config.location=/opt/wvp/conf/application.yml"] | 
|---|
|  |  |  | CMD ["sh", "run.sh"] | 
|---|