Skip to content

Master2022E/simple-webrtc

Repository files navigation

Simple WebRTC

This work is firstly inspired by simple-signaling-server and then futher extended.

Currently hosted on https://stage.thomsen-it.dk

Front page Call in progress
Front page Call in progress

Development

To run the application locally

make local-install
make local-run

To build and run as a docker container

make -i

To stop the docker container

make stop

The preferred way of publishing is through the GitHub release page. Alternatively can it be done manually with the following

docker login
make -i publish username=foo

To run the selenium test suite, start the app and run the tests.

python -m pip install -r requirements.txt
python -m pytest

To run the application on a server there needs to be TLS. Therefor look in the deployment folder for the docker-compose.yaml file that describes the deployment.

The concept of the deplyment is to place Caddy in front of the application and let it work as a reverse proxy that will terminate the TLS to the application. The advantage to using Caddy is that it automatically gets TLS certificates from Let's Encrypt.

Setup process:

  1. Copy the docker-compose.yaml file to the server

  2. Copy the webrtc.envExample to a file called webrtc.env on the server and fill in configurations.

  3. Copy the data/caddy/Caddy file to the server in the same relative path to the docker-compose file, and update the domain names accordingly.

  4. Create the folders ./data/caddy/data and ./data/caddy/config

    mkdir -p data/caddy/data && mkdir -p data/caddy/config

  5. Run docker-compose up -d

NOTE 1: Open the firewall on the server.

NOTE 2: To get the application working is TLS required. According to blog.mozilla.org, this is done to incease the security of regular users.