Mumble Server on Debian Jessie

Posted on Mon 09 May 2016 in Linux

If you don't have a domain name, just skip the parts with letsencrypt and Mumble will generate a self-signed certificate.

Letsencrypt SSL certificate

First we need to install packages required for the letsencrypt application and the application itself:

apt-get install curl libffi-dev libssl-dev python-dev
curl -kLO https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install -U pip
pip install letsencrypt

Now we can use the letsencrypt application to get a SSL certificate, note that the below requires your domain name to point towards the server you are running these commands on:

letsencrypt certonly --standalone -d mumble.yourdomain.com

The relevant files will be created in /etc/letsencrypt/live/mumble.yourdomain.com

Setting up Mumble

We will be using the up-to-date statically linked binary directly from Mumble - if you don't mind running a slightly older version you can just install the mumble-server package with apt instead.

curl -kLO https://github.com/mumble-voip/mumble/releases/download/1.2.16/murmur-static_x86-1.2.16.tar.bz2
tar xvf murmur-static_x86-1.2.16.tar.bz2
ln -s /root/murmur-static_x86-1.2.16/murmur.x86 /usr/bin/murmur

Service user

We will also create a dedicated user so we don't run the server as the root user:

adduser --home /home/murmur --shell /bin/bash murmur
mkdir /home/murmur/.murmurd
chown -R murmur /home/murmur

Murmur configuration

Use your favorite text editor to add the configuration file at /home/murmur/.murmurd/murmur.ini

Comment the lines starting with "ssl" if you don't have a valid SSL certificate. Comment the "serverpassword" line if you don't want a password.

database=
dbus=session
#ice="tcp -h 127.0.0.1 -p 10001"
welcometext="<br />Welcome message"
port=64738
host=YOUR_PUBLIC_IP
serverpassword=yourpassword
bandwidth=144000
users=100
registerName=YOUR_SERVER_NAME
uname=murmur
sslCert=/etc/letsencrypt/live/YOUR_DOMAIN/fullchain.pem
sslKey=/etc/letsencrypt/live/YOUR_DOMAIN/privkey.pem
[Ice]
Ice.Warn.UnknownProperties=1
Ice.MessageSizeMax=65536

Run the server

murmur

Bonus: Add a cronjob to start the Mumble server after boot:

crontab -e
#Add the below line to the end of the file
@reboot murmur