FROM ubuntu:22.04 AS build #shell,rtmp,rtsp,rtsps,http,https,rtp,webrtc EXPOSE 9000/tcp EXPOSE 1935/tcp EXPOSE 554/tcp EXPOSE 322/tcp EXPOSE 80/tcp EXPOSE 443/tcp EXPOSE 10000/udp EXPOSE 10000/tcp EXPOSE 8000/udp EXPOSE 8000/tcp EXPOSE 30000-30500 RUN apt update -y && \ apt upgrade -y && \ apt install -y \ cmake \ pkg-config \ git \ gcc \ g++ \ curl \ vim \ ca-certificates \ libssl-dev \ libsrtp2-dev \ libusrsctp-dev \ libavcodec-dev \ libavutil-dev \ ffmpeg \ libx264-dev \ libfaac-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/ZLMediaKit/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:22.04 RUN apt update -y && \ apt upgrade -y && \ apt install -y \ pkg-config \ vim \ ca-certificates \ libssl-dev \ libsrtp2-dev \ libusrsctp-dev \ libavcodec-dev \ libavutil-dev \ ffmpeg \ libx264-dev \ libfaac-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/ COPY --from=build /opt/media/ZLMediaKit/release/linux/Release/www /opt/mediaserver/bin/www COPY --from=build /opt/media/ZLMediaKit/release/linux/Release/config.ini /opt/mediaserver/bin/ COPY --from=build /opt/media/ZLMediaKit/release/linux/Release/default.pem /opt/mediaserver/bin/ ENV PATH /opt/media/bin:$PATH CMD ["MediaServer"]