Janus WebRTC Gateway v1.4.0 ARM64 Docker Image for Nextcloud Talk HPB
  • Dockerfile 100%
Find a file
Arndt Touby 14813e57fa Upgrade Janus Gateway v1.4.1 -> v1.4.2, Basis-Image und libwebsockets gepinnt
Security (Cooldown-Ausnahme): v1.4.2 vom 23.09. schliesst
GHSA-fc3v-cp6h-jfw5 (High, Heap-Overflow in janus_string_replace() ueber
SDP-Trickle-Candidates) und GHSA-8wq3-j8jw-88rp (Medium, VideoRoom-DoS
ueber unbegrenztes threads). Die uebrigen vier Advisories betreffen im
Build deaktivierte Plugins (SIP, NoSIP, TextRoom, AudioBridge, Streaming).
Keine Konfigurationsaenderungen im Changelog.

Beide Stages auf debian:bookworm-slim@sha256:3783cc01769c7b2b1b83a5c5ad96c815348e28ed7da68e2e3687004faa906251
(vorher beweglicher Tag). libwebsockets vom beweglichen Branch
v4.3-stable auf dessen HEAD-Commit 3df01489ed1b gepinnt; der letzte Tag
v4.3.9 fehlen zwei spaetere Fixes. READMEs nannten noch v1.4.0.

Vorgaenger: git.touby.eu/arndttouby/janus-gateway-arm64@sha256:b217401e3b2598a256e7a3191ea85018187aab13250103d4e15ff53d9af81202

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 19:30:45 +02:00
conf fix(ice): Configs für host network mode anpassen 2026-04-14 17:51:26 +02:00
.gitignore Fix security, bugs, and add multilingual README 2026-04-06 00:38:07 +02:00
Dockerfile Upgrade Janus Gateway v1.4.1 -> v1.4.2, Basis-Image und libwebsockets gepinnt 2026-09-24 19:30:45 +02:00
LICENSE Initial: Janus Gateway v1.4.0 ARM64 Docker Image 2026-04-05 22:58:49 +02:00
README.de.md Upgrade Janus Gateway v1.4.1 -> v1.4.2, Basis-Image und libwebsockets gepinnt 2026-09-24 19:30:45 +02:00
README.fr.md Upgrade Janus Gateway v1.4.1 -> v1.4.2, Basis-Image und libwebsockets gepinnt 2026-09-24 19:30:45 +02:00
README.md Upgrade Janus Gateway v1.4.1 -> v1.4.2, Basis-Image und libwebsockets gepinnt 2026-09-24 19:30:45 +02:00

Janus Gateway – ARM64 Docker Image

License: GPL v3

Janus WebRTC Gateway v1.4.2 as an ARM64 Docker image, optimized for Nextcloud Talk High Performance Backend (HPB).

Deutsch | Français

Contents

  • Multi-stage build on debian:bookworm-slim
  • Janus v1.4.2 compiled from meetecho/janus-gateway
  • Only the components required for Talk HPB:
    • VideoRoom plugin
    • WebSocket transport (port 8188)
    • WebSocket Event Handler (for signaling server)
    • Data Channels (usrsctp)
  • libnice 0.1.22, libwebsockets 4.3-stable @ 3df0148 (compiled from source)

Build

docker build -t janus-gateway-arm64 .

Configuration

Config templates are located in conf/ and are copied to /opt/janus/etc/janus/ during build. They can be overridden at runtime via volume mount:

File Purpose
janus.jcfg Main config (NAT, logging, etc.)
janus.transport.websockets.jcfg WebSocket transport (port 8188)
janus.plugin.videoroom.jcfg VideoRoom plugin
janus.eventhandler.wsevh.jcfg Event handler → signaling server

Required Changes

Before deploying, change the default secrets in the config files:

  • admin_secret in janus.jcfg
  • admin_key in janus.plugin.videoroom.jcfg

In janus.eventhandler.wsevh.jcfg, set backend to the WebSocket URL of your signaling server:

backend = "ws://<SIGNALING_HOST>:8080/proxy"

In janus.jcfg, adjust rtp_port_range and ice_ignore_list to match your network environment.

Running

docker run -d \
  --name janus \
  -p 20000-20200:20000-20200/udp \
  -v ./conf:/opt/janus/etc/janus:ro \
  janus-gateway-arm64 \
  --nat-1-1=<PUBLIC_IP>

If Janus runs in the same Docker network as the signaling server, add --network <network>.

The --nat-1-1 flag is required when running behind NAT so that Janus advertises the correct public IP in ICE candidates.

Architecture (Nextcloud Talk HPB)

Nextcloud Talk Client
    │
    ├── WebSocket ──→ Signaling Server ──→ NATS
    │                      │
    │                      ├── WebSocket ──→ Janus Gateway (:8188)
    │                      │                      │
    │                      │               VideoRoom Plugin
    │                      │                      │
    └── WebRTC (DTLS/SRTP) ──────────────────────┘
                                          RTP :20000-20200/UDP

Disabled Components

The following Janus features are disabled in this build as they are not needed for Talk HPB:

  • Plugins: AudioBridge, EchoTest, NoSIP, RecordPlay, SIP, Streaming, TextRoom, VideoCall, VoiceMail
  • Transports: HTTP/REST, RabbitMQ, MQTT, Nanomsg
  • Event handlers: all except WebSocket
  • TURN REST API (coturn runs separately)

License

GPL-3.0 – same as Janus Gateway.