Skip to content

Commit

Permalink
Merge pull request Uberspace#1456 from franok/mumble-update-guide
Browse files Browse the repository at this point in the history
[mumble] fix broken guide
  • Loading branch information
kimdiallo authored Jan 3, 2023
2 parents a00b38d + e536d24 commit 9ce82b4
Showing 1 changed file with 68 additions and 56 deletions.
124 changes: 68 additions & 56 deletions source/guide_mumble.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.. author:: stunkymonkey <http://stunkymonkey.de>
.. author:: franok <https://franok.de>
.. highlight:: console

.. tag:: lang-cpp
Expand All @@ -16,15 +17,14 @@ Mumble

.. tag_list::

Mumble_ is a voice over IP (VoIP) application primarily designed for use by gamers and is similar to programs such as TeamSpeak_.
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.

----

.. note:: For this guide you should be familiar with the basic concepts of

* MySQL_
* supervisord_

License
Expand All @@ -34,67 +34,65 @@ All relevant legal information can be found here

* https://github.com/mumble-voip/mumble/blob/master/LICENSE

Prerequisites
Pre-Note
=============

.. include:: includes/my-print-defaults.rst
.. note::
The official Mumble project decided to no longer provide static murmur server binaries starting with version 1.4.x.

You need a database for mumble:
`Some fellow Ubernauts have undertaken efforts <https://github.com/Uberspace/lab/issues/1191>`_ to compile a static murmur binary on their own. You can have a look at it on GitHub_.

.. code-block:: console
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 <https://github.com/franok/mumble-build-container/releases>`_ 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 :lab:`uu-notify <guide_uu-notify>`.

[isabell@stardust ~]$ mysql -e "CREATE DATABASE ${USER}_mumble"
[isabell@stardust ~]$

Installation
============

Check the Mumble_ website or GitHub_ for the feed_ and copy the download link to the ``murmur-static``-file. Replace the URL with the one you just copied.
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
.. note:: The server for mumble is called murmur

.. code-block:: console
[isabell@stardust ~]$ wget https://github.com/mumble-voip/mumble/releases/download/66.6.6/murmur-static_x86-66.6.6.tar.bz2
--2018-10-06 21:14:34-- https://github.com/mumble-voip/mumble/releases/download/66.6.6/murmur-static_x86-66.6.6.tar.bz2
[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: https://github-production-release-asset-2e65be.s3.amazonaws.com/1413319/a7d2b00a-e4a8-11e6-80bb-d224f64df619?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181006%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181006T191435Z&X-Amz-Expires=300&X-Amz-Signature=b2af6f60968f675bb8427af7341716d75a1ee162f822abdd878877514b9205be&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dmurmur-static_x86-66.6.6.tar.bz2&response-content-type=application%2Foctet-stream [following]
--2018-10-06 21:14:35-- https://github-production-release-asset-2e65be.s3.amazonaws.com/1413319/a7d2b00a-e4a8-11e6-80bb-d224f64df619?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181006%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181006T191435Z&X-Amz-Expires=300&X-Amz-Signature=b2af6f60968f675bb8427af7341716d75a1ee162f822abdd878877514b9205be&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dmurmur-static_x86-66.6.6.tar.bz2&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.2.32
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.2.32|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11939824 (11M) [application/octet-stream]
Saving to: ‘murmur-static_x86-66.6.6.tar.bz2’
Location: ...
Saving to: ‘murmur-static.zip’
100%[======================================================================================================================================>] 11,939,824 7.45MB/s in 1.5s
murmur-static.zip 100%[=============================>] 7,39M 4,47MB/s in 1,7s
2018-10-06 21:14:37 (7.45 MB/s) - ‘murmur-static_x86-66.6.6.tar.bz2’ saved [11939824/11939824]
2022-12-14 20:01:33 (4,47 MB/s) - ‘murmur-static.zip’ saved [7753035/7753035]
[isabell@stardust ~]$
[isabell@stardust mumble]$
extract it and rename it to mumble:
Extract the zip file:


.. code-block:: console
[isabell@stardust ~]$ tar xvjf murmur-static_x86-66.6.6.tar.bz2
murmur-static_x86-66.6.6/
murmur-static_x86-66.6.6/murmur.x86
murmur-static_x86-66.6.6/LICENSE
murmur-static_x86-66.6.6/dbus/
murmur-static_x86-66.6.6/dbus/weblist.pl
murmur-static_x86-66.6.6/dbus/murmur.pl
murmur-static_x86-66.6.6/ice/
murmur-static_x86-66.6.6/ice/icedemo.php
murmur-static_x86-66.6.6/ice/Murmur.ice
murmur-static_x86-66.6.6/ice/weblist.php
murmur-static_x86-66.6.6/murmur.ini
murmur-static_x86-66.6.6/README
[isabell@stardust ~]$ mv murmur-static_x86-66.6.6/ mumble/
[isabell@stardust ~]$
[isabell@stardust mumble]$ unzip murmur-static.zip
Archive: murmur-static.zip
inflating: murmur.ini
inflating: murmur.x86_64
Make the binary executable:


.. code-block:: console
[isabell@stardust mumble]$ chmod +x murmur.x86_64
[isabell@stardust mumble]$
Configuration
Expand All @@ -105,22 +103,18 @@ Configure port

.. include:: includes/open-port.rst

edit config file ``~/mumble/murmur.ini`` to specify the desired port, domain and mysql-database. Minimal config would look like this:
Edit the config file ``~/mumble/murmur.ini`` to specify the desired port. Minimal config would look like this:

.. code-block:: ini
:emphasize-lines: 1,3,4,7
:emphasize-lines: 2,3
database=<username>_mumble
dbDriver=QMYSQL
dbUsername=<username>
dbPassword=<mysql_password>
dbOpts="UNIX_SOCKET=/var/lib/mysql/mysql.sock"
welcometext="<br />Welcome to this server running <b>Murmur</b>.<br />Enjoy your stay!<br />"
port=<your_port>
serverpassword=
serverpassword=changeThisPassword!
allowping=true
bonjour=false
For more configuration options look at the documentation_ site.

Setup daemon
Expand All @@ -131,7 +125,7 @@ Create ``~/etc/services.d/mumble.ini`` with the following content:
.. code-block:: ini
[program:mumble]
command=%(ENV_HOME)s/mumble/murmur.x86 -fg -ini %(ENV_HOME)s/mumble/murmur.ini
command=%(ENV_HOME)s/mumble/murmur.x86_64 -fg -ini %(ENV_HOME)s/mumble/murmur.ini
.. include:: includes/supervisord.rst

Expand All @@ -141,7 +135,7 @@ If it's not in state ``RUNNING``, check your configuration.
Finishing installation
======================

To connect to your server, open mumble on your computer or phone and add a new server:
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
Expand All @@ -150,14 +144,15 @@ To connect to your server, open mumble on your computer or phone and add a new s
Best practices
==============

uberspace already provides letsencrypt certificates. To add them append these lines to your ``murmur.ini`` and adjust your username and the domain.
Uberspace already provides letsencrypt certificates. To add them, append these lines to your ``murmur.ini`` and adjust your username and the domain.

.. code-block:: ini
sslCert=/home/isabell/etc/certificates/isabell.uber.space.crt
sslKey=/home/isabell/etc/certificates/isabell.uber.space.key
Last we have to restart the server before expiry. Edit your cron tab using the ``crontab -e``.
The server needs to be restarted, before the certificates expire.
Therefore, add the following line to your contrab using ``crontab -e``:

::

Expand All @@ -166,9 +161,19 @@ Last we have to restart the server before expiry. Edit your cron tab using the `
Updates
=======

.. note:: Check the update feed_ regularly to stay informed about the newest version.
.. note:: `Subscribe to the releases <https://github.com/franok/mumble-build-container/releases>`_ to stay informed about the latest versions (e.g. by using :lab:`uu-notify <guide_uu-notify>`).

If there is a new version, backup your mumble folder:

.. code-block:: console
[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 ~]$
If there is a new version repeat the Installation_ and execute:
Repeat the Installation_ steps, and finally execute:

.. code-block:: console
Expand All @@ -177,17 +182,24 @@ If there is a new version repeat the Installation_ and execute:
mumble: started
[isabell@stardust ~]$
Connect to your server and if everything works fine, delete the backup:

.. code-block:: console
[isabell@stardust ~]$ rm -rf mumble-backup/
[isabell@stardust ~]$
.. _Teamspeak: https://www.teamspeak.com/
.. _Mumble: https://mumble.info/
.. _Github: https://github.com/mumble-voip/mumble
.. _MySQL: https://manual.uberspace.de/en/database-mysql.html
.. _GitHub: https://github.com/franok/mumble-build-container
.. _`GitHub release section`: https://github.com/franok/mumble-build-container/releases
.. _supervisord: https://manual.uberspace.de/en/daemons-supervisord.html
.. _feed: https://github.com/mumble-voip/mumble/releases
.. _documentation: https://wiki.mumble.info/wiki/Murmur.ini


----

Tested with Murmur v1.3.4, Uberspace v7.11.1
Tested with self-compiled static Murmur v1.4.287, Uberspace v7.14.0

.. author_list::

0 comments on commit 9ce82b4

Please sign in to comment.