docker-janus-gateway/Dockerfile
renovate-bot 3a8b712eae Update dependency meetecho/janus-gateway to v1.3.0 ()
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: 
Co-authored-by: renovate-bot <bot@walbeck.it>
Co-committed-by: renovate-bot <bot@walbeck.it>
2024-11-28 17:09:23 +00:00

125 lines
3.7 KiB
Docker

FROM debian:bullseye-slim@sha256:60a596681410bd31a48e5975806a24cd78328f3fd6b9ee5bc64dca6d46a51f29
# renovate: datasource=github-tags depName=meetecho/janus-gateway versioning=semver
ENV JANUS_VERSION v1.3.0
# renovate: datasource=github-tags depName=cisco/libsrtp versioning=semver
ENV LIBSRTP_VERSION v2.5.0
# renovate: datasource=git-tags depName=https://gitlab.freedesktop.org/libnice/libnice versioning=semver
ENV LIBNICE_VERSION 0.1.22
# renovate: datasource=git-tags depName=https://git.walbeck.it/archive/libwebsockets versioning=semver
ENV LIBWEBSOCKETS_VERSION v4.3.3
ENV USRSCTP_VERSION master
RUN set -ex; \
\
groupadd --system --gid 602 janus; \
useradd --no-log-init --system --gid janus --no-create-home --uid 602 janus; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
# Runtime dependencies
ca-certificates \
libconfig9 \
libglib2.0-0 \
libjansson4 \
libssl1.1 \
libcurl4 \
libopus0 \
libogg0 \
libmicrohttpd12 \
# Build dependencies
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 \
; \
pip3 install meson; \
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; \
\
cd /build/libnice; \
meson --prefix=/usr build; \
ninja -C build; \
ninja -C build install; \
\
cd /build/libsrtp; \
./configure --prefix=/usr --enable-openssl; \
make shared_library && make install; \
\
cd /build/usrsctp; \
./bootstrap; \
./configure --prefix=/usr --disable-programs --disable-inet --disable-inet6; \
make; \
make install; \
\
cd /build/libwebsockets; \
mkdir build; \
cd build; \
cmake -DLWS_MAX_SMP=1 -DLWS_WITHOUT_EXTENSIONS=0 -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" ..; \
make; \
make install; \
\
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; \
make; \
make install; \
make configs; \
cd /; \
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
USER janus:janus
CMD ["/opt/janus/bin/janus"]