Skip to content
Snippets Groups Projects
Armin Co's avatar
Armin Co authored
84cceb6b
History

Build Mumble Web

A script to build the mumble-web app in a docker image.

The script will clone the mumble-web repository. If the repository already was cloned it will pull the latest commits. Afterwards the docker image, defined in the Dockerfile, will be build.

Dockerfile

  • alpine:edge
  • copy content of repository into image
  • install git and npm
  • npm: install, run build, audit fix, audit

The image contains the generated files of the app, which can be published by a webserver. To copy these files out of the image it is necessary to create a container out of this image. Therefore the command 'docker create' needs to be executed. Afterwards the directory can be copied with 'docker cp'.

The container and the image are not longer needed, so they will be removed at the end.

Verifying commits

Commits made from the online editor are signed with the github web-flow key. Other commits are not verified.

https://github.com/web-flow.gpg

Testing

To test if the generation of the website files was succesfully a test version can be run with websockify.

openssl req -newkey rsa:2048 -nodes -keyout test.key -x509 -days 365 -out test.crt
websockify --cert=test.crt --key=test.key --ssl-only --ssl-target --web=/home/node/dist 443 MUMBLE_SERVER:64738

Deploy

When the website is not deployed with websockify, it is still needed for the websocket.

websockify --ssl-target 64737 MUMBLE_SERVER:64738