Mumble is a VOIP application which allows users to talk to each other via the same server. It uses a client-server architecture, and encrypts all communication to ensure user privacy. Murmur is the server that Mumble clients to connect to. Learn More.
docker-murmur
enables you to easily run multiple (lightweight) murmur
instances on the same host.
This guide assumes that you already have Docker installed.
It's easiest to get going if you pull the image from the Docker Hub. The image is built automatically from this repository.
docker pull bddenhartog/docker-murmur
git clone https://github.com/bddenhartog/docker-murmur.git cd docker-murmur docker build -t bddenhartog/docker-murmur .
Windows users should run
git config --global core.autocrlf false
prior to cloning to avoid line ending issues with the files that are added to the image when executingdocker build
.
Now that you have the image built, it's time to get a container up and running.
docker run -d \
-p 64738:64738 \
--name murmur-001 \
bddenhartog/docker-murmur
The following variables can be passed into the container (when you execute
docker run
) to change various confirguation options.
For example:
docker run -d \
-p 64738:64738 \
-e MUMBLE_SERVERPASSWORD='superSecretPasswordHere' \
--name murmur-001 \
bddenhartog/docker-murmur
Here is a list of all options supported through environment variables:
Environment Variable | Default Value | Details |
---|---|---|
MUMBLE_ICE |
tcp -h 127.0.0.1 -p 6502 |
Murmur.ini::ice |
MUMBLE_ICESECRETREAD |
--- |
Murmur.ini::icesecretread |
MUMBLE_ICESECRETWRITE |
--- |
Murmur.ini::icesecretwrite |
MUMBLE_AUTOBANATTEMPTS |
10 |
Murmur.ini::autobanAttempts |
MUMBLE_AUTOBANTIMEFRAME |
120 |
Murmur.ini::autobanAttempts |
MUMBLE_AUTOBANTIME |
300 |
Murmur.ini::autobanAttempts |
MUMBLE_SERVERPASSWORD |
--- |
Murmur.ini::serverpassword |
MUMBLE_OBFUSCATE |
false |
Murmur.ini::obfuscate |
MUMBLE_SENDVERSION |
false |
Murmur.ini::sendversion |
MUMBLE_LEGACYPASSWORDHASH |
false |
Murmur.ini::legacyPasswordHash |
MUMBLE_KDFITERATIONS |
-1 |
Murmur.ini::kdfIterations |
MUMBLE_ALLOWPING |
true |
Murmur.ini::allowping |
MUMBLE_BANDWIDTH |
7200 |
Murmur.ini::bandwidth |
MUMBLE_TIMEOUT |
30 |
Murmur.ini::timeout |
MUMBLE_USERS |
100 |
Murmur.ini::users |
MUMBLE_USERSPERCHANNEL |
0 |
Murmur.ini::usersperchannel |
MUMBLE_USERNAME |
[-=\\w\\[\\]\\{\\}\\(\\)\\@\|\\.]+ |
Murmur.ini::username |
MUMBLE_CHANNELNAME |
[ \\-=\\w\\#\\[\\]\\{\\}\\(\\)\\@\|]+ |
Murmur.ini::channelname |
MUMBLE_DEFAULTCHANNEL |
--- |
Murmur.ini::defaultchannel |
MUMBLE_REMEMBERCHANNEL |
true |
Murmur.ini::rememberchannel |
MUMBLE_TEXTMESSAGELENGTH |
5000 |
Murmur.ini::textmessagelength |
MUMBLE_IMAGEMESSAGELENGTH |
131072 |
Murmur.ini::imagemessagelength |
MUMBLE_ALLOWHTML |
true |
Murmur.ini::allowhtml |
MUMBLE_OPUSTHRESHOLD |
100 |
Murmur.ini::opusthreshold |
MUMBLE_REGISTERHOSTNAME |
--- |
Murmur.ini::registerHostname |
MUMBLE_REGISTERPASSWORD |
--- |
Murmur.ini::registerPassword |
MUMBLE_REGISTERURL |
--- |
Murmur.ini::registerUrl |
MUMBLE_REGISTERNAME |
--- |
Murmur.ini::registerName |
MUMBLE_SUGGESTVERSION |
false |
Murmur.ini::suggestVersion |
MUMBLE_SUGGESTPOSITIONAL |
--- |
Murmur.ini::suggestPositional |
MUMBLE_SUGGESTPUSHTOTALK |
--- |
Murmur.ini::suggestPushToTalk |
MUMBLE_ENABLESSL |
0 |
See SSL Certificates below |
MUMBLE_SSLPASSPHRASE |
--- |
See SSL Certificates below |
SUPERUSER_PASSWORD |
--- |
If not defined, a password will be auto-generated. |
Custom welcome text (Murmur.ini::welcometext)
To customize the welcome text, add the contents to welcome.txt
and mount that
into the container at /data/welcome.txt
. Special characters are escaped
automatically, but you may want to double check
SSL Certificates (Murmur.ini::SSL)
SSL certificate settings are handled a bit differently, to simplify running
this container. If MUMBLE_ENABLESSL
is set to 1
, SSL is automatically
enabled, as long as you have mounted a certificate and key at the
following locations:
-
SSL certificate should be mounted at
/data/cert.pem
- If your certificate is signed by an authority that uses a sub-signed or
"intermediate" certificate, you should either bundle that with your
certificate, or mount it in separately at
/data/intermediate.pem
- this will be automatically detected.
- If your certificate is signed by an authority that uses a sub-signed or
"intermediate" certificate, you should either bundle that with your
certificate, or mount it in separately at
-
SSL key should be mounted at
/data/key.pem
- If the key has a passphrase, you should define the environment variable
MUMBLE_SSLPASSPHRASE
with the passphrase. This variable does not have any effect if you have not mounted a key and enabled SSL.
- If the key has a passphrase, you should define the environment variable
If the environment variable SUPERUSER_PASSWORD
is not defined when creating
the container, a password will be automatically generated. To view the password
for any container at any time, look at the container's logs. As an example, to
view the SuperUser password is for an instance running in a container
named murmur-001
:
$ docker logs murmur-001 2>&1 | grep SUPERUSER_PASSWORD
> SUPERUSER_PASSWORD: <value>
To update your image locally, simply run docker pull bddenhartog/docker-murmur
.
Licensed under MIT. View License.