mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-10 21:10:17 +02:00
106 lines
3.6 KiB
Markdown
106 lines
3.6 KiB
Markdown
# Mumble
|
||
|
||
## Prepare Your Settings
|
||
In your auth project's settings file, do the following:
|
||
- Add `'allianceauth.services.modules.mumble',` to your `INSTALLED_APPS` list
|
||
- Append the following to your local.py settings file:
|
||
|
||
|
||
# Mumble Configuration
|
||
MUMBLE_URL = ""
|
||
|
||
## Overview
|
||
Mumble is a free voice chat server. While not as flashy as TeamSpeak, it has all the functionality and is easier to customize. And is better. I may be slightly biased.
|
||
|
||
## Dependencies
|
||
The mumble server package can be retrieved from a repository we need to add, mumble/release.
|
||
|
||
apt-add-repository ppa:mumble/release
|
||
apt-get update
|
||
|
||
Now two packages need to be installed:
|
||
|
||
apt-get install python-software-properties mumble-server
|
||
|
||
Download the appropriate authenticator release from [the authenticator repository](https://gitlab.com/allianceauth/mumble-authenticator) and install the python dependencies for it:
|
||
|
||
pip install -r requirements.txt
|
||
|
||
## Configuring Mumble
|
||
Mumble ships with a configuration file that needs customization. By default it’s located at /etc/mumble-server.ini. Open it with your favourite text editor:
|
||
|
||
nano /etc/mumble-server.ini
|
||
|
||
REQUIRED: To enable the ICE authenticator, edit the following:
|
||
|
||
- `icesecretwrite=MY_CLEVER_PASSWORD`, obviously choosing a secure password
|
||
- ensure the line containing `Ice="tcp -h 127.0.0.1 -p 6502"` is uncommented
|
||
|
||
By default mumble operates on SQLite which is fine, but slower than a dedicated MySQL server. To customize the database, edit the following:
|
||
|
||
- uncomment the database line, and change it to `database=alliance_mumble`
|
||
- `dbDriver=QMYSQL`
|
||
- `dbUsername=allianceserver` or whatever you called the Alliance Auth MySQL user
|
||
- `dbPassword=` that user’s password
|
||
- `dbPort=3306`
|
||
- `dbPrefix=murmur_`
|
||
|
||
To name your root channel, uncomment and set `registerName=` to whatever cool name you want
|
||
|
||
Save and close the file.
|
||
|
||
To get Mumble superuser account credentials, run the following:
|
||
|
||
dpkg-reconfigure mumble-server
|
||
|
||
Set the password to something you’ll remember and write it down. This is needed to manage ACLs.
|
||
|
||
Now restart the server to see the changes reflected.
|
||
|
||
service mumble-server restart
|
||
|
||
That’s it! Your server is ready to be connected to at example.com:64738
|
||
|
||
## Configuring the Authenticator
|
||
|
||
The ICE authenticator lives in the mumble-authenticator repository, cd to the directory where you cloned it.
|
||
|
||
Make a copy of the default config:
|
||
|
||
cp authenticator.ini.example authenticator.ini
|
||
|
||
Edit `authenticator.ini` and change these values:
|
||
|
||
- `[database]`
|
||
- `user = ` your allianceserver MySQL user
|
||
- `password = ` your allianceserver MySQL user's password
|
||
- `[ice]`
|
||
- `secret = ` the `icewritesecret` password set earlier
|
||
|
||
Test your configuration by starting it: `python authenticator.py`
|
||
|
||
## Running the Authenticator
|
||
|
||
The authenticator needs to be running 24/7 to validate users on Mumble. This can be achieved by adding a section to your auth project's supervisor config file like the following example:
|
||
|
||
```
|
||
[program:authenticator]
|
||
command=/path/to/venv/bin/python authenticator.py
|
||
directory=/path/to/authenticator/directory/
|
||
user=allianceserver
|
||
stdout_logfile=/path/to/authenticator/directory/authenticator.log
|
||
stderr_logfile=/path/to/authenticator/directory/authenticator.log
|
||
autostart=true
|
||
autorestart=true
|
||
startsecs=10
|
||
priority=998
|
||
```
|
||
|
||
|
||
Note that groups will only be created on Mumble automatically when a user joins who is in the group.
|
||
|
||
## Prepare Auth
|
||
In your project's settings file, set `MUMBLE_URL` to the public address of your mumble server. Do not include any leading `http://` or `mumble://`.
|
||
|
||
Run migrations and restart Gunicorn and Celery to complete setup.
|