docker-janus-gateway/Dockerfile

126 lines
3.7 KiB
Text
Raw Permalink Normal View History

FROM debian:bullseye-slim@sha256:e831d9a884d63734fe3dd9c491ed9a5a3d4c6a6d32c5b14f2067357c49b0b7e1
2020-05-19 16:41:21 +02:00
2020-06-27 15:33:54 +02:00
# renovate: datasource=github-tags depName=meetecho/janus-gateway versioning=semver
Update dependency meetecho/janus-gateway to v1.3.0 (#157) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [meetecho/janus-gateway](https://github.com/meetecho/janus-gateway) | minor | `v1.2.4` -> `v1.3.0` | --- ### Release Notes <details> <summary>meetecho/janus-gateway (meetecho/janus-gateway)</summary> ### [`v1.3.0`](https://github.com/meetecho/janus-gateway/blob/HEAD/CHANGELOG.md#v130---2024-11-25) [Compare Source](https://github.com/meetecho/janus-gateway/compare/v1.2.4...v1.3.0) - Refactored logging internals \[[PR-3428](https://github.com/meetecho/janus-gateway/pull/3428)] - Use strtok to parse SDPs \[[PR-3424](https://github.com/meetecho/janus-gateway/pull/3424)] - Fixed rare condition that could lead to a deadlock in the VideoRoom \[[PR-3446](https://github.com/meetecho/janus-gateway/pull/3446)] - Fixed broken switch when using remote publishers in VideoRoom \[[PR-3447](https://github.com/meetecho/janus-gateway/pull/3447)] - Added SRTP support to VideoRoom remote publishers (thanks [@&#8203;spscream](https://github.com/spscream)!) \[[PR-3449](https://github.com/meetecho/janus-gateway/pull/3449)] - Added support for generic JSON metadata to VideoRoom publishers (thanks [@&#8203;spscream](https://github.com/spscream)!) \[[PR-3467](https://github.com/meetecho/janus-gateway/pull/3467)] - Fixed deadlock in VideoRoom when failing to open a socket for a new RTP forwarder (thanks [@&#8203;spscream](https://github.com/spscream)!) \[[PR-3468](https://github.com/meetecho/janus-gateway/pull/3468)] - Fixed deadlock in VideoRoom caused by reverse ordering of mutex locks \[[PR-3474](https://github.com/meetecho/janus-gateway/pull/3474)] - Fixed memory leaks when using remote publishers in VideoRoom \[[PR-3475](https://github.com/meetecho/janus-gateway/pull/3475)] - Diluted frequency of PLI in the VideoRoom (thanks [@&#8203;natikaltura](https://github.com/natikaltura)!) \[[PR-3423](https://github.com/meetecho/janus-gateway/pull/3423)] - Better cleanup after failed mountpoint creations in Streaming plugin \[[PR-3465](https://github.com/meetecho/janus-gateway/pull/3465)] - Fixed compilation of AudioBridge in case libogg isn't available (thanks [@&#8203;tmatth](https://github.com/tmatth)!) \[[PR-3438](https://github.com/meetecho/janus-gateway/pull/3438)] - Better management of call cleanup in SIP plugin \[[Issue-3430](https://github.com/meetecho/janus-gateway/issues/3430)] - Change the way call-IDs are tracked in the SIP plugin (thanks WebTrit!) \[[PR-3443](https://github.com/meetecho/janus-gateway/pull/3443)] - Increased maximum size of custom SIP headers \[[Issue-3459](https://github.com/meetecho/janus-gateway/issues/3459)] - Other smaller fixes and improvements (thanks to all who contributed pull requests and reported issues!) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yOC4wIiwidXBkYXRlZEluVmVyIjoiMzkuMjguMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119--> Reviewed-on: https://git.walbeck.it/walbeck-it/docker-janus-gateway/pulls/157 Co-authored-by: renovate-bot <bot@walbeck.it> Co-committed-by: renovate-bot <bot@walbeck.it>
2024-11-28 17:09:23 +00:00
ENV JANUS_VERSION v1.3.0
2020-06-27 15:33:54 +02:00
# renovate: datasource=github-tags depName=cisco/libsrtp versioning=semver
ENV LIBSRTP_VERSION v2.7.0
2020-06-27 17:55:40 +02:00
# renovate: datasource=git-tags depName=https://gitlab.freedesktop.org/libnice/libnice versioning=semver
ENV LIBNICE_VERSION 0.1.22
2024-02-03 11:20:17 +01:00
# renovate: datasource=git-tags depName=https://git.walbeck.it/archive/libwebsockets versioning=semver
ENV LIBWEBSOCKETS_VERSION v4.3.3
ENV USRSCTP_VERSION master
2020-08-13 15:38:18 +02:00
2020-05-19 16:41:21 +02:00
RUN set -ex; \
2020-08-13 15:38:18 +02:00
\
groupadd --system --gid 602 janus; \
useradd --no-log-init --system --gid janus --no-create-home --uid 602 janus; \
2020-05-19 16:41:21 +02:00
\
apt-get update; \
apt-get install -y --no-install-recommends \
# Runtime dependencies
2020-05-19 16:41:21 +02:00
ca-certificates \
libconfig9 \
libglib2.0-0 \
libjansson4 \
libssl1.1 \
libcurl4 \
libopus0 \
libogg0 \
libmicrohttpd12 \
# Build dependencies
2020-05-19 16:41:21 +02:00
libmicrohttpd-dev \
libjansson-dev \
libssl-dev \
libglib2.0-dev \
2021-02-23 18:07:08 +01:00
libopus-dev \
2020-05-19 16:41:21 +02:00
libogg-dev \
libcurl4-openssl-dev \
liblua5.3-dev \
2021-02-23 18:07:08 +01:00
libconfig-dev \
2020-05-19 16:41:21 +02:00
pkg-config \
gengetopt \
libtool \
automake \
git \
make \
gtk-doc-tools \
2020-10-22 21:49:28 +02:00
ninja-build \
python3-pip \
cmake \
build-essential \
2020-05-19 16:41:21 +02:00
; \
2020-10-22 21:49:28 +02:00
pip3 install meson; \
2020-05-19 16:41:21 +02:00
mkdir /build; \
git clone --branch $JANUS_VERSION https://github.com/meetecho/janus-gateway.git /build/janus-gateway; \
git clone --branch $LIBSRTP_VERSION https://github.com/cisco/libsrtp.git /build/libsrtp; \
git clone --branch $LIBNICE_VERSION https://gitlab.freedesktop.org/libnice/libnice.git /build/libnice; \
git clone --branch $USRSCTP_VERSION https://github.com/sctplab/usrsctp /build/usrsctp; \
git clone --branch $LIBWEBSOCKETS_VERSION https://git.walbeck.it/archive/libwebsockets /build/libwebsockets; \
2020-05-19 16:41:21 +02:00
\
cd /build/libnice; \
2020-10-22 21:49:28 +02:00
meson --prefix=/usr build; \
ninja -C build; \
ninja -C build install; \
2020-05-19 16:41:21 +02:00
\
cd /build/libsrtp; \
./configure --prefix=/usr --enable-openssl; \
make shared_library && make install; \
\
2020-05-20 16:49:41 +02:00
cd /build/usrsctp; \
./bootstrap; \
./configure --prefix=/usr --disable-programs --disable-inet --disable-inet6; \
2020-05-20 16:49:41 +02:00
make; \
make install; \
\
cd /build/libwebsockets; \
mkdir build; \
cd build; \
2021-05-10 13:21:09 +02:00
cmake -DLWS_MAX_SMP=1 -DLWS_WITHOUT_EXTENSIONS=0 -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" ..; \
make; \
make install; \
\
2020-05-19 16:41:21 +02:00
cd /build/janus-gateway; \
sh autogen.sh; \
./configure --prefix=/opt/janus --disable-plugin-voicemail --disable-plugin-nosip --disable-plugin-sip \
--disable-plugin-streaming --disable-plugin-recordplay --disable-unix-sockets; \
2020-05-19 16:41:21 +02:00
make; \
make install; \
2020-05-20 16:49:41 +02:00
make configs; \
cd /; \
2020-08-13 15:38:18 +02:00
rm -rf /build; \
chown -R janus:janus /opt/janus; \
\
pip3 uninstall -y meson; \
rm -rf /root/.cache/pip; \
\
apt-get purge -y --autoremove \
libmicrohttpd-dev \
libjansson-dev \
libssl-dev \
libglib2.0-dev \
libopus-dev \
libogg-dev \
libcurl4-openssl-dev \
liblua5.3-dev \
libconfig-dev \
pkg-config \
gengetopt \
libtool \
automake \
git \
make \
gtk-doc-tools \
ninja-build \
python3-pip \
cmake \
build-essential \
; \
rm -rf /var/lib/apt/lists/*;
EXPOSE 8088 8188
2020-08-13 15:38:18 +02:00
USER janus:janus
2020-05-19 16:41:21 +02:00
CMD ["/opt/janus/bin/janus"]