Sign inSign up

michzimny/knockplop

By michzimny

•Updated over 8 years ago

Dockerized Knockplop - meeting webservice based on WebRTC technology

Image
0

339

michzimny/knockplop repository overview

⁠knockplop-docker

Dockerized Knockplop - meeting webservice, based on WebRTC technology

This project dockerizes https://github.com/up2university/knockplop/⁠

This Docker image is automatically built at https://hub.docker.com/r/michzimny/knockplop/⁠

⁠Run

By default the container exposes HTTPS with self-signed certificates, and tries to use the TURN service from GÉANT⁠. The only parameter to provide is a REST API token for the TURN service.

The service can be simply run by:

docker run -d -p 80:80 -p 443:443 -e REST_API_KEY=XXXYYYZZZ michzimny/knockplop

⁠Build

To build the image on your own, one can adjust KNOCKPLOP_GIT_REF variable in Dockerfile to a desired reference (commit SHA-1 or branch name).

The image can be built with for instance:

docker build -t michzimny/knockplop .

⁠TLS certificates

For production usage, one might want to adjust TLS (HTTPS) certificates.

The following environmental variables need to be set to indicate PEM paths of a certificate:

  • SSL_KEY - the certificate private key
  • SSL_CERT - the actual certificate
  • SSL_CA - the certificate's chain (optionally)

For instance using certbot-auto⁠, assuming the certbot output directory is at ./certs, one can provide the directory as a Docker volume and set the variables in env-file:

docker run -d \
    -p 80:80 \
    -p 443:443 \
    --env-file env \
    -v $(pwd)/certs:/etc/certs:ro \
    --restart=unless-stopped \
    michzimny/knockplop

with "env" file containing:

REST_API_KEY=XXXYYYZZZ
SSL_KEY=/etc/certs/live/example.com/privkey.pem
SSL_CERT=/etc/certs/live/example.com/cert.pem
SSL_CA=/etc/certs/live/example.com/chain.pem

Alternatively, one can use docker-compose.yml and simply call docker-compose up -d.

⁠TURN connection

By default, GÉANT TURN service is in use. The default API URL is given in entrypoint.sh⁠, and at its end the value of $REST_API_KEY is added.

The URL can be adjusted by setting environmental variable REST_API_URL. Its value must be a valid JS expression, for instance:

REST_API_URI='https://turn.example.com/something?api_key='+config.REST_API_KEY

Tag summary

Content type

Image

Digest

Size

361.9 MB

Last updated

over 8 years ago

docker pull michzimny/knockplop