Sign inSign up

subc/audioroom

By subc

Updated almost 4 years ago

SubC Audio Room

Image
0

105

subc/audioroom repository overview

SubC Audio Room

Based on the code samples from Janus-Gateway (https://github.com/meetecho/janus-gateway/blob/master/html/audiobridgetest.html or https://janus.conf.meetecho.com/audiobridgetest.html) and powered by Janus-Gateway (https://github.com/meetecho/janus-gateway).

Inside of the folder jcfg, the readme.md file will explain the configuration needs and inside of that folder, default_scripts it will show the remaining scripts now being used.

Docker

This method of deployment is setup for us with Docker. If you follow the instructions from the Dockerfile in a console or Linus prompt, you can install and run it locally on the machine.

Available Docker Images

Image NameDescriptionJanus Version
dev-1.1.0Development version.v1.1.0 (https://github.com/meetecho/janus-gateway/tree/v1.1.0)
main-1.1.0Production version.v1.1.0 (https://github.com/meetecho/janus-gateway/tree/v1.1.0)

Building a Docker Image

You can build an instance of docker using the command:

build_docker.bat {tag_name}

This will build the image in Windows and then pause asking if you want to test the build locally.

Pushing the Docker Image to Docker Hub

Once the docker image is build locally, you will need to run the command:

push_docker.bat {tag_name}

Running the Docker Image

This is often done using a docker-compose.yml file entry (see the entry below for an example).

version: "3.7"
services:
  janus:
    build:
      context: .
    command: ["-S", "stun.l.google.com:19302"]
    ports:
      - "8088:8088"
      - "443:443"
      - "7088:7088"
      - "7089:7089"
      - "8188:8188"
      - "8889:8889"
      - "10000-10300:10000-10300/udp"
    container_name:
      audioroom
    volumes:
      - /docker/ssl/server.crt:/opt/janus/bin/server.crt
      - /docker/ssl/server.key:/opt/janus/bin/server.key
      - /docker/jcfg/janus.jcfg:/opt/janus/etc/janus/janus.jcfg
      - /docker/jcfg/janus.transport.http.jcfg:/opt/janus/etc/janus/janus.transport.http.jcfg
      - /docker/jcfg/janus.transport.websockets.jcfg:/opt/janus/etc/janus/janus.transport.websockets.jcfg
    ulimits:
      nproc: 65535
      nofile:
        soft: 100000
        hard: 100000
    restart: always

In this example we are building an image named "audioroom" and including volumes with the ports 80, 443 and other exposed to the host running the container.

Normally we are using an docker-compose.yml file that is not building the project. It allows for speed and keeps all versions the same on all audio room servers. The example below is more to something deployed on a server.

version: "3.7"
services:
  janus:
    ports:
      - "80:80"
      - "443:443"
      - "7088:7088"
      - "7089:7089"
      - "8188:8188"
      - "8889:8889"
      - "10000-10300:10000-10300/udp"
    container_name:
      audioroom
    volumes:
      - /docker/ssl/server.crt:/opt/janus/bin/server.crt
      - /docker/ssl/server.key:/opt/janus/bin/server.key
      - /docker/jcfg/janus.jcfg:/opt/janus/etc/janus/janus.jcfg
      - /docker/jcfg/janus.transport.http.jcfg:/opt/janus/etc/janus/janus.transport.http.jcfg
      - /docker/jcfg/janus.transport.websockets.jcfg:/opt/janus/etc/janus/janus.transport.websockets.jcfg
    restart: always

When setting a volume, specify each path and file for both local and internal.

Tag summary

Content type

Image

Digest

sha256:bdd956a2f

Size

437.2 MB

Last updated

almost 4 years ago

docker pull subc/audioroom:main-1.1.0