Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ByteDesk Janus Docker Image

Docker Hub Docker Pulls License

Janus Gateway Docker image for ByteDesk, based on Ubuntu 22.04 LTS.

Language: English | 中文

📑 Table of Contents

Features

  • ✅ Janus Gateway v1.4.0 (built from source)
  • ✅ Ubuntu 22.04 base image
  • ✅ Built-in dependencies for WebRTC stack (libwebsockets, libsrtp, libnice, usrsctp)
  • ✅ Janus built with --enable-post-processing
  • FFmpeg included 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_dispatch with version and push_to_registry
  • Registries:
    • bytedesk/janus
    • registry.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 API
  • 8188/TCP: Janus WebSocket API
  • 10000-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 GitHub forks GitHub Repo stars
Android Android GitHub forks GitHub Repo stars
Flutter Flutter GitHub forks GitHub Repo stars
UniApp Uniapp GitHub forks GitHub Repo stars
Web Vue/React/Angular/Next.js/JQuery/... GitHub forks GitHub Repo stars
Wordpress Wordpress GitHub forks GitHub Repo stars
Woocommerce woocommerce GitHub forks GitHub Repo stars

Troubleshooting

  • Container exits immediately: inspect docker logs janus for 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.

License

This project is licensed under the terms in LICENSE.

About

webrtc gateway

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages