|
1 | 1 |
|
2 | | -# janus-webrtc-gateway-docker |
3 | 2 | [](https://github.com/wangsrGit119/janus-webrtc-gateway-docker/actions/workflows/prod-docker-image.yml) |
4 | 3 |
|
5 | | -> **Warning** |
6 | | ->- if you want to use Janus 0.x please visit this repo [janus-webrtc-gateway-docker-0.x](https://github.com/atyenoria/janus-webrtc-gateway-docker) |
| 4 | +> ⚠️ **Warning** |
| 5 | +> If you need Janus 0.x support, please visit [janus-webrtc-gateway-docker-0.x](https://github.com/atyenoria/janus-webrtc-gateway-docker) |
7 | 6 |
|
8 | | -## janus officia repository |
| 7 | +## Project Overview |
9 | 8 |
|
10 | | -[The official janus repository](https://github.com/meetecho/janus-gateway.git "janus:1.0") |
| 9 | +This project provides a Docker image for Janus WebRTC Gateway, making deployment and integration fast and simple. The image is based on the official Janus source code, with unnecessary modules removed, multi-platform support enabled, and optional Nginx startup. |
11 | 10 |
|
12 | | ->New version release depends on GitHub Action |
| 11 | +## Official Janus Repository |
13 | 12 |
|
14 | | -## Base |
| 13 | +- [meetecho/janus-gateway](https://github.com/meetecho/janus-gateway.git "janus:1.0") |
15 | 14 |
|
16 | | -modify :point_down: repo, and update janus version , delete nginx-rtmp-module |
17 | | -> https://github.com/atyenoria/janus-webrtc-gateway-docker |
18 | | -> |
| 15 | +> 🚀 Continuous integration and automated Docker image publishing are powered by GitHub Actions. |
19 | 16 |
|
20 | | -## amd image version |
| 17 | +## Base Image Source |
21 | 18 |
|
22 | | -| janus-webrtc-gateway-docker Version | Janus Version |Desc| |
23 | | -| ------------ | ------------ |------------ | |
24 | | -| 1.2.0-slim | 1.2.0 | | |
25 | | -| 1.2.1-slim | 1.2.1 | | |
26 | | -| 1.2.2-slim | 1.2.2 | | |
27 | | -| 1.2.3-slim | 1.2.3 | | |
28 | | -| 1.2.4-slim | 1.2.4 | | |
29 | | -| 1.3.0-slim | 1.3.0 | | |
30 | | -| 1.3.1-slim | 1.3.1 | | |
31 | | -| 1.3.2-slim | 1.3.2 | | |
32 | | -## arm64 images version |
| 19 | +This repository is based on [atyenoria/janus-webrtc-gateway-docker](https://github.com/atyenoria/janus-webrtc-gateway-docker), with the following improvements: |
| 20 | +- ⬆️ Updated Janus version |
| 21 | +- 🗑️ Removed nginx-rtmp-module |
| 22 | +- 🏗️ Enhanced multi-platform support |
33 | 23 |
|
34 | | -| janus-webrtc-docker:version | janus:version | |
35 | | -| ------------ | ------------ | |
36 | | -| 1.2.0-arm64 | 1.2.0 | |
37 | | -| 1.2.1-arm64 | 1.2.1 | |
38 | | -| 1.2.2-arm64 | 1.2.2 | |
39 | | -| 1.2.3-arm64 | 1.2.3 | |
40 | | -| 1.2.4-arm64 | 1.2.4 | |
41 | | -| 1.3.0-arm64 | 1.3.0 | |
42 | | -| 1.3.1-arm64 | 1.3.1 | |
43 | | -| 1.3.2-arm64 | 1.3.2 | |
44 | | -## How to use |
| 24 | +## Image Versions and Platform Support |
45 | 25 |
|
46 | | - - mkdir conf ---- configs from [https://github.com/meetecho/janus-gateway/tree/master/conf](https://github.com/meetecho/janus-gateway/tree/master/conf) |
47 | | - - touch docker-compose.yml --- content eg: :point_down: |
| 26 | +- 🆙 **From version 1.3.1 onwards**: Multi-platform (x86_64 and arm64) images are merged, so pulling the same tag will automatically match your platform—no need to distinguish between architectures. |
| 27 | +- ⏪ **For 1.3.0 and below**: x86_64 and arm64 images are published separately; you must manually pull the image matching your hardware. |
48 | 28 |
|
| 29 | +### Version Mapping |
| 30 | + |
| 31 | +| Docker Image Version | Janus Version | Platform Support Description | |
| 32 | +|----------------------------|---------------|----------------------------------------| |
| 33 | +| 1.2.0-slim/arm64 ~ 1.3.0-slim/arm64 | 1.2.0~1.3.0 | Separate x86_64/arm64 images | |
| 34 | +| 1.3.1 and above | 1.3.1+ | Multi-platform merged image (recommended) | |
| 35 | + |
| 36 | +## How to Use |
| 37 | + |
| 38 | +1. **Prepare Configuration Files** |
| 39 | + 📂 Create a `conf` directory and place your Janus config files inside (see [official conf files](https://github.com/meetecho/janus-gateway/tree/master/conf) for reference). |
| 40 | +2. **Write `docker-compose.yml`** |
| 41 | + 📝 Example configuration: |
49 | 42 |
|
50 | 43 | ```yaml |
51 | 44 | services: |
52 | | - |
53 | | - # |
54 | | - # janus-gateway |
55 | | - # |
56 | 45 | janus-gateway: |
57 | 46 | image: 'sucwangsr/janus-webrtc-gateway-docker:latest' |
58 | | - #command: ["/usr/local/bin/janus", "-F", "/usr/local/etc/janus"] # only start janus |
59 | | - command: ["sh", "-c", "nginx && /usr/local/bin/janus -F /usr/local/etc/janus"] # if want to start nginx (port 8086) |
| 47 | + # Only start janus |
| 48 | + #command: ["/usr/local/bin/janus", "-F", "/usr/local/etc/janus"] |
| 49 | + # Start nginx (port 8086) and janus together |
| 50 | + command: ["sh", "-c", "nginx && /usr/local/bin/janus -F /usr/local/etc/janus"] |
60 | 51 | network_mode: "host" |
61 | | - |
62 | 52 | volumes: |
63 | | - - "./conf/janus.transport.http.jcfg:/usr/local/etc/janus/janus.transport.http.jcfg" # open adminapi config |
| 53 | + - "./conf/janus.transport.http.jcfg:/usr/local/etc/janus/janus.transport.http.jcfg" # adminapi config |
64 | 54 | - "./conf/janus.jcfg:/usr/local/etc/janus/janus.jcfg" |
65 | 55 | - "./conf/janus.eventhandler.sampleevh.jcfg:/usr/local/etc/janus/janus.eventhandler.sampleevh.jcfg" |
66 | 56 | restart: always |
67 | | - |
68 | 57 | ``` |
69 | 58 |
|
70 | | ->**Warning** |
71 | | -> Before startup, please ensure your config files is ok, pay attention to comments in YAML |
| 59 | +## Important Notes |
| 60 | +
|
| 61 | +- ⚠️ **Before starting, please make sure your configuration files are correct**, especially with respect to YAML formatting and comments. |
| 62 | +- 🛠️ If you need to customize Janus features or plugins, refer to the official documentation and adjust the configuration as needed. |
| 63 | +- 🛡️ If using `network_mode: "host"`, ensure the host machine ports are not occupied to avoid conflicts. |
| 64 | +- 🏷️ For multi-platform images (1.3.1 and above), it is recommended to use the `:latest` or a specific version tag; Docker will auto-detect your hardware architecture. |
| 65 | +- 🔄 For 1.3.0 and below, pull the `-slim` (x86_64) or `-arm64` image according to your hardware. |
| 66 | + |
| 67 | +--- |
| 68 | + |
| 69 | +❓ For questions or feature requests, feel free to submit an Issue or PR! |
| 70 | +⭐ If you find this project helpful, please give it a Star! |
0 commit comments