ByteDesk Janus Docker Image
March 1, 2026 Β· View on GitHub
Janus Gateway Docker image for ByteDesk, based on Ubuntu 22.04 LTS.
π Table of Contents
- Features
- Quick Start
- Configuration
- Image Build and Release
- Environment Variables
- Ports
- Troubleshooting
- Contributing
- License
Features
- β
Janus Gateway
v1.4.0(built from source) - β
Ubuntu
22.04base image - β
Built-in dependencies for WebRTC stack
(
libwebsockets,libsrtp,libnice,usrsctp) - β
Janus built with
--enable-post-processing - β
FFmpegincluded for post-processing workflows - β Multi-architecture image publishing via GitHub Actions
- β Docker Hub and Aliyun registry publishing
- β Single-process runtime (Nginx removed, Janus only)
- β RabbitMQ/MQTT/Unix sockets are disabled in current build flags
Quick Start
Pull image
# Docker Hub
docker pull bytedesk/janus:latest
# Aliyun registry (recommended in mainland China)
docker pull registry.cn-hangzhou.aliyuncs.com/bytedesk/janus:latest
Run container
The image starts Janus directly (CMD ["janus"]).
docker run -d \
--name janus \
-p 8088:8088 \
-p 8188:8188 \
-p 10000-10200:10000-10200/udp \
-e TZ=Asia/Shanghai \
--restart=unless-stopped \
bytedesk/janus:latest
Configuration
Janus config files are generated during build by make configs
and installed under /usr/local/etc/janus.
To customize configuration, mount your config directory:
docker run -d \
--name janus \
-v $(pwd)/janus-conf:/usr/local/etc/janus \
-p 8088:8088 \
-p 8188:8188 \
-p 10000-10200:10000-10200/udp \
bytedesk/janus:latest
Check logs:
docker logs -f janus
Image Build and Release
This repository uses GitHub Actions workflow at .github/workflows/janus-docker.yml.
- Tag trigger:
janus-v*(example:janus-v1.4.0) - Manual trigger:
workflow_dispatchwithversionandpush_to_registry - Registries:
bytedesk/janusregistry.cn-hangzhou.aliyuncs.com/bytedesk/janus
Example release tag:
git tag janus-v1.4.0
git push origin janus-v1.4.0
Environment Variables
TZ: Container timezone (default:Asia/Shanghai)
Most Janus runtime behavior is controlled by files in /usr/local/etc/janus.
Ports
Janus ports depend on your janus.jcfg and plugin configs. Common mappings:
8088/TCP: Janus HTTP API8188/TCP: Janus WebSocket API10000-10200/UDP: RTP media ports (example range)
Adjust these to match your deployed Janus configuration.
Server
Open Source Demo + SDK
| Project | Description | Forks | Stars |
|---|---|---|---|
| iOS | iOS | ||
| Android | Android | ||
| Flutter | Flutter | ||
| UniApp | Uniapp | ||
| Web | Vue/React/Angular/Next.js/JQuery/... | ||
| Wordpress | Wordpress | ||
| Woocommerce | woocommerce |
Troubleshooting
- Container exits immediately: inspect
docker logs janusfor config errors. - API not reachable: verify mapped ports and firewall/security group rules.
- Media issues: ensure UDP media port range is open and consistent with Janus config.
- Custom config not applied: confirm mount target is
/usr/local/etc/janus.
Contributing
Issues and pull requests are welcome.
- Repository: Bytedesk/bytedesk-janus
- Docker Hub: bytedesk/janus
License
This project is licensed under the terms in LICENSE.