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