forked from meetecho/janus-gateway
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.ubuntu-20.04
106 lines (99 loc) · 4.44 KB
/
Dockerfile.ubuntu-20.04
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
FROM ubuntu:20.04 AS janus-gw-build
LABEL maintainer="emmanuel.riou@dazzl.tv"
ARG LIBNICE_VER=0.1.17
ARG LIBSRTP_VER=2.2.0
ARG RABBIT_GIT_COMMIT=2ca1774
WORKDIR /root
COPY . janus-gateway
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update && apt-get upgrade -y && apt-get install -y \
build-essential \
automake \
libtool \
pkg-config \
git \
wget \
libjansson-dev \
libssl-dev \
libglib2.0-dev \
libini-config-dev \
libcollection-dev \
gengetopt \
libconfig-dev \
libcurl4-gnutls-dev \
gtk-doc-tools \
&& wget https://libnice.freedesktop.org/releases/libnice-$LIBNICE_VER.tar.gz \
&& tar xzf libnice-$LIBNICE_VER.tar.gz \
&& rm libnice-$LIBNICE_VER.tar.gz \
&& cd libnice-$LIBNICE_VER \
&& ./autogen.sh \
&& CFLAGS="-DG_DISABLE_ASSERT" ./configure --prefix=/usr \
&& make && make install && cd .. \
&& wget https://github.com/cisco/libsrtp/archive/v$LIBSRTP_VER.tar.gz \
-O libsrtp-v$LIBSRTP_VER.tar.gz \
&& tar xzf libsrtp-v$LIBSRTP_VER.tar.gz \
&& rm libsrtp-v$LIBSRTP_VER.tar.gz && cd libsrtp-$LIBSRTP_VER \
&& ./configure --prefix=/usr --enable-openssl \
&& make shared_library && make install && cd .. \
&& git clone https://github.com/sctplab/usrsctp \
&& cd usrsctp \
&& ./bootstrap \
&& ./configure --prefix=/usr \
&& make && make install && cd .. \
&& git clone https://github.com/alanxz/rabbitmq-c \
&& cd rabbitmq-c \
&& git checkout $RABBIT_GIT_COMMIT \
&& git submodule init \
&& git submodule update \
&& autoreconf -i \
&& ./configure --prefix=/usr \
&& make && make install && cd .. \
&& cd janus-gateway \
&& sh autogen.sh \
&& ./configure --prefix=/usr/local \
--disable-turn-rest-api \
--disable-all-plugins \
--disable-all-handlers \
--disable-all-loggers \
--disable-all-transports \
--disable-post-processing \
--enable-rabbitmq \
--enable-record-multipart \
--disable-docs \
&& make \
&& make configs \
&& make install
#Final stage
FROM ubuntu:20.04
COPY --from=janus-gw-build /usr/local/bin/janus /usr/local/bin/
COPY --from=janus-gw-build /usr/local/include/janus/ /usr/local/include/janus/
COPY --from=janus-gw-build /usr/local/lib/janus/transports/libjanus_rabbitmq.so \
/usr/local/lib/janus/transports/
COPY --from=janus-gw-build /usr/lib/librabbitmq.so.4 /usr/lib/
COPY --from=janus-gw-build /usr/lib/x86_64-linux-gnu/libconfig.so.9 /usr/lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/libnice.so.10 /lib/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libgio-2.0.so.0 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libgobject-2.0.so.0 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libglib-2.0.so.0 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /usr/lib/x86_64-linux-gnu/pkgconfig/glib-2.0.pc \
/usr/lib/x86_64-linux-gnu/pkgconfig/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libjansson.so.4 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /usr/lib/x86_64-linux-gnu/pkgconfig/jansson.pc \
/usr/lib/x86_64-linux-gnu/pkgconfig/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libssl.so.1.1 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libz.so.1 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/libusrsctp.so.2 /lib/
COPY --from=janus-gw-build /lib/libsrtp2.so.1 /lib/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libcrypto.so.1.1 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libpthread.so.0 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libc.so.6 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libmount.so.1 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libselinux.so.1 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libresolv.so.2 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libffi.so.7 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libpcre.so.3 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib64/ld-linux-x86-64.so.2 /lib64/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libblkid.so.1 /lib/x86_64-linux-gnu/
COPY --from=janus-gw-build /lib/x86_64-linux-gnu/libpcre2-8.so.0 /lib/x86_64-linux-gnu/