Skip to content

Run your own Mumble server in a docker container - built for easy management at scale.

License

Notifications You must be signed in to change notification settings

jackmakesthings/docker-murmur

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docker-murmur Build Status MIT License

Alpine v3.4 Murmur v1.2.17 Docker Pulls Docker Stars

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.

Getting started

This guide assumes that you already have Docker installed.

Pull the official image

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

Alternatively, you can build the image from source

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 executing docker build.

Create a container

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

Configuration options

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.
  • 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.

Logging in as SuperUser

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>

Updating

To update your image locally, simply run docker pull bddenhartog/docker-murmur.

License

Licensed under MIT. View License.


Analytics

About

Run your own Mumble server in a docker container - built for easy management at scale.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 80.1%
  • Makefile 19.9%