Mumble
Mumble is a voice over IP (VoIP) application primarily designed for use by gamers and is similar to programs such as TeamSpeak. In contrast to Teamspeak, Mumble is an open-source project.
Mumble uses a client–server architecture which allows users to talk to each other via the same server (murmur). It has a very simple administrative interface and features high sound quality and low latency. All communication is encrypted to ensure user privacy.
License
All relevant legal information can be found here
Pre-Note
Note
The official Mumble project decided to no longer provide static murmur server binaries starting with version 1.4.x.
Some fellow Ubernauts have undertaken efforts to compile a static murmur binary on their own. You can have a look at it on GitHub.
This guide uses the self-compiled server binary, which currently comes with some limitations, i.e. MySQL is currently not supported as a database. For Ubernauts who have been hosting a Mumble server based on this guide before Mumble v1.4, this might be a breaking change. The default database for a Mumble server is SQLite and requires no further configuration.
Please read the release notes of every new release. Releases of the self-compiled server binary may occur more often than the offical Mumble releases. However, no warranty is made regarding up-to-dateness and functional correctness. Consider subscribing to new releases, e.g. by using uu-notify.
Installation
Check the GitHub release section and copy the release tag version of the latest release. Set the variable MURMUR_VERSION
to the version you just copied.
Note
The server for mumble is called murmur
[isabell@stardust ~]$ mkdir mumble
[isabell@stardust ~]$ cd mumble/
[isabell@stardust mumble]$ MURMUR_VERSION=v0.0.0_build-YYYY-000
[isabell@stardust mumble]$ wget https://github.com/franok/mumble-build-container/releases/download/$MURMUR_VERSION/murmur-static.zip
--2022-12-14 20:01:29-- https://github.com/franok/mumble-build-container/releases/download/v1.4.287/murmur-static.zip
Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112
Connecting to github.com (github.com)|192.30.253.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: ...
Saving to: ‘murmur-static.zip’
murmur-static.zip 100%[=============================>] 7,39M 4,47MB/s in 1,7s
2022-12-14 20:01:33 (4,47 MB/s) - ‘murmur-static.zip’ saved [7753035/7753035]
[isabell@stardust mumble]$
Extract the zip file:
[isabell@stardust mumble]$ unzip murmur-static.zip
Archive: murmur-static.zip
inflating: murmur.ini
inflating: murmur.x86_64
Make the binary executable:
[isabell@stardust mumble]$ chmod +x murmur.x86_64
[isabell@stardust mumble]$
Configuration
Configure port
To make the application accessible from the outside, open a port in the firewall:
[isabell@stardust ~]$ uberspace port add
Port 40132 will be open for TCP and UDP traffic in a few minutes.
[isabell@stardust ~]$
Edit the config file ~/mumble/murmur.ini
to specify the desired port. Minimal config would look like this:
welcometext="<br />Welcome to this server running <b>Murmur</b>.<br />Enjoy your stay!<br />"
port=<your_port>
serverpassword=changeThisPassword!
allowping=true
bonjour=false
For more configuration options look at the documentation site.
Setup daemon
Create ~/etc/services.d/mumble.ini
with the following content:
[program:mumble]
command=%(ENV_HOME)s/mumble/murmur.x86_64 -fg -ini %(ENV_HOME)s/mumble/murmur.ini
After creating the configuration, tell supervisord to refresh its configuration and start the service:
[isabell@stardust ~]$ supervisorctl reread
SERVICE: available
[isabell@stardust ~]$ supervisorctl update
SERVICE: added process group
[isabell@stardust ~]$ supervisorctl status
SERVICE RUNNING pid 26020, uptime 0:03:14
[isabell@stardust ~]$
If it’s not in state RUNNING
, check your configuration.
Finishing installation
To connect to your server, open a Mumble client on your computer or phone and add a new server:
Address:
<username>.uber.space
Port: your port
Username: any username you’d like
Best practices
Uberspace already provides letsencrypt certificates. To add them, append these lines to your murmur.ini
and adjust your username and the domain.
sslCert=/home/isabell/etc/certificates/isabell.uber.space.crt
sslKey=/home/isabell/etc/certificates/isabell.uber.space.key
The server needs to be restarted, before the certificates expire.
Therefore, add the following line to your contrab using crontab -e
:
@monthly supervisorctl restart mumble > /dev/null
Updates
Note
Subscribe to the releases to stay informed about the latest versions (e.g. by using uu-notify).
If there is a new version, backup your mumble folder:
[isabell@stardust ~]$ cp -rp mumble/ mumble-backup/
[isabell@stardust ~]$ ls -la | grep -i mumble-backup
drwxrwxr-x. 4 isabell isabell 167 Dec 6 20:16 mumble-backup
[isabell@stardust ~]$
Repeat the Installation steps, and finally execute:
[isabell@stardust ~]$ supervisorctl restart mumble
mumble: stopped
mumble: started
[isabell@stardust ~]$
Connect to your server and if everything works fine, delete the backup:
[isabell@stardust ~]$ rm -rf mumble-backup/
[isabell@stardust ~]$
Tested with self-compiled static Murmur v1.4.287, Uberspace v7.14.0
Written by: stunkymonkey <http://stunkymonkey.de>, franok <https://franok.de>