dockerfile 2.53 KB
Newer Older
monktan committed
1 2 3 4 5 6 7 8 9 10
FROM ubuntu:18.04 AS build
ARG MODEL
#shell,rtmp,rtsp,rtsps,http,https,rtp
EXPOSE 1935/tcp
EXPOSE 554/tcp
EXPOSE 80/tcp
EXPOSE 443/tcp
EXPOSE 10000/udp
EXPOSE 10000/tcp
EXPOSE 8000/udp
11
EXPOSE 8000/tcp
xiongziliang committed
12
EXPOSE 9000/udp
monktan committed
13

14
# ADD sources.list /etc/apt/sources.list
15 16

RUN apt-get update && \
monktan committed
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
         DEBIAN_FRONTEND="noninteractive" \
         apt-get install -y --no-install-recommends \
         build-essential \
         cmake \
         git \
         curl \
         vim \
         wget \
         ca-certificates \
         tzdata \
         libssl-dev \
         libmysqlclient-dev \
         libx264-dev \
         libfaac-dev \
         gcc \
         g++ \
ziyue committed
33
         libavcodec-dev libavutil-dev libswscale-dev libresample-dev \
34
         gdb && \
monktan committed
35 36 37
         apt-get autoremove -y && \
         apt-get clean -y && \
         wget https://github.com/cisco/libsrtp/archive/v2.2.0.tar.gz -O libsrtp-2.2.0.tar.gz && tar xfv libsrtp-2.2.0.tar.gz && \
38
         cd libsrtp-2.2.0 && ./configure --enable-openssl && make -j $(nproc) && make install && \
monktan committed
39 40 41 42 43 44 45 46 47
    rm -rf /var/lib/apt/lists/*

RUN mkdir -p /opt/media
COPY . /opt/media/ZLMediaKit
WORKDIR /opt/media/ZLMediaKit
#RUN git submodule update --init --recursive && \
RUN mkdir -p build release/linux/${MODEL}/

WORKDIR /opt/media/ZLMediaKit/build
ziyue committed
48
RUN cmake -DCMAKE_BUILD_TYPE=${MODEL} -DENABLE_WEBRTC=true -DENABLE_FFMPEG=true -DENABLE_TESTS=false -DENABLE_API=false .. && \
49
    make -j $(nproc)
monktan committed
50 51 52 53

FROM ubuntu:18.04
ARG MODEL

54
# ADD sources.list /etc/apt/sources.list
55 56

RUN apt-get update && \
monktan committed
57 58 59 60 61 62 63 64 65 66 67 68 69
         DEBIAN_FRONTEND="noninteractive" \
         apt-get install -y --no-install-recommends \
         vim \
         wget \
         ca-certificates \
         tzdata \
         curl \
         libssl-dev \
         libx264-dev \
         libfaac-dev \
         ffmpeg \
         gcc \
         g++ \
ziyue committed
70
         libavcodec-dev libavutil-dev libswscale-dev libresample-dev \
71
         gdb && \
monktan committed
72 73 74 75 76 77 78 79 80 81
         apt-get autoremove -y && \
         apt-get clean -y && \
    rm -rf /var/lib/apt/lists/*

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
        && echo $TZ > /etc/timezone && \
        mkdir -p /opt/media/bin/www

WORKDIR /opt/media/bin/
ziyue committed
82
COPY --from=build /opt/media/ZLMediaKit/release/linux/${MODEL}/MediaServer /opt/media/ZLMediaKit/default.pem /opt/media/bin/
monktan committed
83 84 85
COPY --from=build /opt/media/ZLMediaKit/release/linux/${MODEL}/config.ini /opt/media/conf/
COPY --from=build /opt/media/ZLMediaKit/www/ /opt/media/bin/www/
ENV PATH /opt/media/bin:$PATH
86
CMD ["sh","-c","./MediaServer -s default.pem -c ../conf/config.ini -l 0"]