Setting up a Mumble Server

Introduction

This tutorial will explain how to set up a Mumble server through murmur.

Environment

Hardware amd64 VPS
OS Debian 10 Buster

Dependencies

  1. Docker
  2. docker-compose
  3. Internet Domain

Step by Step Instructions

1. Add DNS entry to your domain.

A domain of your choice needs to point to the address of your server.

2. Change to root user

sudo -s

3. Installation of additional Dependencies

apt update
apt install -y certbot nginx

4. Create user user and add persistence

useradd --system --create-home --shell /bin/bash --user-group --uid 800 --password <your-password-here> murmur
mkdir /home/murmur/data /home/murmur/www
chown -R murmur:murmur /home/murmur

5. Configure NGINX server

Create and open vhost file:

cd /home/srv
nano /etc/nginx/sites-available/mumble.domain.tld.vhost
chmod 600 docker-compose.yaml

Paste the following configuration into the file:

server {
  listen 80;
  server_name mumble.domain.tld;

  location / {
    root /home/murmur/www;
    index index.html;
  }

  location ~ /.well-known/acme-challenge/ {
    allow all;
  }
}

Create /home/murmur/www/index.html:

<!DOCTYPE html>
<html>
<head>
<title>This is my Mumble server!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<p style="text-align:center"><h1>This is my Mumble server!</h1></p>
<p>This is the URL you use to connect to this Mumble server instance in your Mumble client.</p>
</body>
</html>

Activate vhost file:

ln -s /etc/nginx/sites-available/mumble.domain.tld.vhost /etc/nginx/sites-enabled/mumble.domain.tld.vhost

Restart NGINX:

systemctl restart nginx

6. Create Let's Encrypt certificate for mumble.domain.tld

https://certbot.eff.org/lets-encrypt/debianbuster-nginx

Restart NGINX:

systemctl restart nginx

7. Set up server

Create and open docker-compose.yaml:

cd /home/murmur
nano docker-compose.yaml

Paste the following configuration into the file:

version: '3.3'

services:
  murmur:
    image: akito13/murmur
    container_name: murmur
    ports:
      - published: 64738
        target: 64738
        protocol: tcp
        mode: host
      - published: 64738
        target: 64738
        protocol: udp
        mode: host
      # gRPC API Port
      - published: 50051
        target: 50051
        protocol: tcp
        mode: host
    volumes:
      # Change mountpoint (left part) to your needs.
      - '/home/murmur/data:/data'

Get configuration file and place it in the right place:

curl -L https://raw.githubusercontent.com/theAkito/docker-murmur/master/murmur.ini -o /home/murmur/data/murmur.ini
chown murmur:murmur /home/murmur/data/murmur.ini

Adjust the configuration file to your needs.

Run server:

docker-compose up -d

8. Finish

Open your Mumble client.

Connect to your Mumble server instance through this URL:
https://mumble.domain.tld

 

Sources