| |
| FROM debian:buster |
| |
| ENV DEBIAN_FRONTEND=noninteractive |
| |
| |
| RUN test ! -f /etc/apt/source.list.save && cp /etc/apt/sources.list /etc/apt/sources.list.save |
| RUN sed -i "s@security.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list |
| RUN sed -i "s@archive.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list |
| |
| RUN apt update -y && apt install -y git wget curl tini |
| RUN apt install -y libmicrohttpd-dev libjansson-dev \ |
| libssl-dev libsofia-sip-ua-dev libglib2.0-dev \ |
| libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev \ |
| libconfig-dev pkg-config gengetopt libtool automake |
| RUN mkdir /tools/ |
| WORKDIR /tools/ |
| |
| RUN apt install -y python3 ninja-build python3-pip sudo |
| RUN pip3 install meson |
| RUN apt install -y cmake make |
| RUN apt install -y golang |
| RUN apt install -y graphviz |
| RUN apt install -y doxygen=1.8.13-* |
| |
| ARG PROXY_URL |
| ENV http_proxy=$PROXY_URL |
| ENV https_proxy=$PROXY_URL |
| |
| |
| |
| |
| |
| RUN git clone https://gitlab.freedesktop.org/libnice/libnice.git/ |
| |
| WORKDIR /tools/libnice |
| |
| RUN meson --prefix=/usr build && ninja -C build && sudo ninja -C build install |
| |
| WORKDIR /tools/ |
| RUN wget https://github.com/cisco/libsrtp/archive/v2.3.0.tar.gz |
| RUN tar xfv v2.3.0.tar.gz |
| |
| WORKDIR /tools/libsrtp-2.3.0 |
| RUN ./configure --prefix=/usr --enable-openssl |
| RUN make shared_library && sudo make install |
| |
| WORKDIR /tools/ |
| RUN git clone https://boringssl.googlesource.com/boringssl |
| |
| WORKDIR /tools/boringssl |
| |
| RUN sed -i s/" -Werror"//g CMakeLists.txt |
| |
| RUN mkdir -p build |
| |
| WORKDIR /tools/boringssl/build |
| RUN cmake -DCMAKE_CXX_FLAGS="-lrt" .. |
| RUN make |
| |
| WORKDIR /tools/boringssl/ |
| |
| RUN mkdir -p /opt/boringssl |
| RUN cp -R include /opt/boringssl/ |
| RUN mkdir -p /opt/boringssl/lib |
| RUN cp build/ssl/libssl.a /opt/boringssl/lib/ |
| RUN cp build/crypto/libcrypto.a /opt/boringssl/lib/ |
| |
| WORKDIR /tools/ |
| RUN git clone https://github.com/sctplab/usrsctp |
| |
| WORKDIR /tools/usrsctp |
| RUN ./bootstrap |
| RUN ./configure --prefix=/usr --disable-programs --disable-inet --disable-inet6 |
| RUN make -j `grep "processor" /proc/cpuinfo | sort -u | wc -l` && sudo make install |
| |
| WORKDIR /tools/ |
| RUN git clone https://github.com/warmcat/libwebsockets.git |
| |
| WORKDIR /tools/libwebsockets |
| |
| |
| RUN mkdir build |
| |
| WORKDIR /tools/libwebsockets/build |
| |
| |
| RUN cmake -DLWS_MAX_SMP=1 -DLWS_WITHOUT_EXTENSIONS=0 -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" .. |
| RUN make -j `grep "processor" /proc/cpuinfo | sort -u | wc -l` && sudo make install |
| |
| RUN apt install -y libnanomsg-dev |
| |
| WORKDIR /tools/ |
| RUN git clone https://github.com/eclipse/paho.mqtt.c.git |
| |
| WORKDIR /tools/paho.mqtt.c |
| RUN make -j `grep "processor" /proc/cpuinfo | sort -u | wc -l` && sudo make install |
| |
| WORKDIR /tools/ |
| RUN git clone https://github.com/alanxz/rabbitmq-c |
| |
| WORKDIR /tools/rabbitmq-c |
| RUN git submodule init |
| RUN git submodule update |
| RUN mkdir build && cd build |
| WORKDIR /tools/rabbitmq-c/build |
| RUN cmake -DCMAKE_INSTALL_PREFIX=/usr .. |
| RUN make -j `grep "processor" /proc/cpuinfo | sort -u | wc -l` && sudo make install |
| |
| |
| |
| WORKDIR /tools/ |
| RUN git clone https://github.com/meetecho/janus-gateway.git |
| |
| WORKDIR /tools/janus-gateway |
| RUN sh autogen.sh |
| RUN ./configure --prefix=/opt/janus |
| RUN make |
| RUN make install |
| RUN make configs |
| |
| |
| WORKDIR /opt/janus/bin/ |
| |
| |
| ENV http_proxy='' |
| ENV https_proxy='' |
| |
| |
| |
| ENTRYPOINT ["tini", "--"] |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程