[feat] add options from mumble-server.ini

Most of the options from mumble-server.ini have been added to .env
No documentation for these settings, since they're described elsewhere.

The exceptions which were not included are:
- *ssl* : adding support for custom certs needs more work
- database, *db*, *sqlite* : as above, for databases
- *ice* : unclear how ZeroC Ice works, decided to skip for now
- logfile, pidfile, *log* : would need to expose these files outside the
  container
- port, host, uname : unneccessary in a container
- legacypasswordhash : unsecure, therefore requires custom compose file
- forceExternalAuth : undocumented

Reference:
on environment variables to set config options in the container: a0ab293b2a/README.md (configuration)
list of options: https://github.com/mumble-voip/mumble/blob/v1.6.870/auxiliary_files/mumble-server.ini
This commit is contained in:
Amras
2026-04-23 17:16:54 +00:00
parent a2e9b642bc
commit 069298a9f0
2 changed files with 106 additions and 0 deletions

View File

@ -21,3 +21,59 @@ COMPOSE_FILE="compose.yml"
## SuperUser Password
SECRET_SUPERUSER_PASSWORD_VERSION=v1
#################
# MUMBLE CONFIG #
#################
# Documentation for the following options is here:
# https://github.com/mumble-voip/mumble/blob/v1.6.870/auxiliary_files/mumble-server.ini
# Note: these options may be untested
#WELCOME_TEXT=
#BANDWIDTH=
#TIMEOUT=
#USERS=
#USERS_PER_CHANNEL=
#MESSAGE_BURST=
#MESSAGE_LIMIT=
#PLUGIN_MESSAGE_LIMIT=
#PLUGIN_MESSAGE_BURST=
#ALLOW_PING=
#OPUS_THRESHOLD=
#CHANNEL_NESTING_LIMIT=
#CHANNEL_COUNT_LIMIT=
#CHANNEL_NAME=
#USERNAME=
#DEFAULT_CHANNEL=
#REMEMBER_CHANNEL=
#REMEMBER_CHANNEL_DURATION=
#TEXT_MESSAGE_LENGTH=
#IMAGE_MESSAGE_LENGTH=
#ALLOW_HTML=
#LOG_DAYS=
#REGISTER_NAME=
#REGISTER_PASSWORD=
#REGISTER_URL=
#REGISTER_HOSTNAME=
#REGISTER_LOCATION=
#BONJOUR=
#SSL_CERT=
#SSL_KEY=
#SSL_PASSPHRASE=
#SSL_CA_PEM=
#SSL_DH_PARAMS=
#SSL_CIPHERS=
#OBFUSCATE=
#CERT_REQUIRED=
#SEND_VERSION=
#SUGGEST_VERSION=
#SUGGEST_POSITIONAL=
#SUGGEST_PUSH_TO_TALK=
#KDF_ITERATIONS=
#AUTOBAN_ATTEMPTS=
#AUTOBAN_TIMEFRAME=
#AUTOBAN_TIME=
#AUTOBAN_SUCCESSFUL_CONNECTIONS=
#ALLOW_RECORDING=
#ROLLING_STATS_WINDOW=
#LISTENERS_PER_CHANNEL=
#LISTENERS_PER_USER=

View File

@ -11,6 +11,56 @@ services:
secrets:
- source: superuser-pw
target: MUMBLE_SUPERUSER_PASSWORD
environment:
MUMBLE_CONFIG_WELCOMETEXT: ${WELCOME_TEXT}
MUMBLE_CONFIG_BANDWIDTH: ${BANDWIDTH}
MUMBLE_CONFIG_TIMEOUT: ${TIMEOUT}
MUMBLE_CONFIG_USERS: ${USERS}
MUMBLE_CONFIG_USERSPERCHANNEL: ${USERS_PER_CHANNEL}
MUMBLE_CONFIG_MESSAGEBURST: ${MESSAGE_BURST}
MUMBLE_CONFIG_MESSAGELIMIT: ${MESSAGE_LIMIT}
MUMBLE_CONFIG_PLUGINMESSAGELIMIT: ${PLUGIN_MESSAGE_LIMIT}
MUMBLE_CONFIG_PLUGINMESSAGEBURST: ${PLUGIN_MESSAGE_BURST}
MUMBLE_CONFIG_ALLOWPING: ${ALLOW_PING}
MUMBLE_CONFIG_OPUSTHRESHOLD: ${OPUS_THRESHOLD}
MUMBLE_CONFIG_CHANNELNESTINGLIMIT: ${CHANNEL_NESTING_LIMIT}
MUMBLE_CONFIG_CHANNELCOUNTLIMIT: ${CHANNEL_COUNT_LIMIT}
MUMBLE_CONFIG_CHANNELNAME: ${CHANNEL_NAME}
MUMBLE_CONFIG_USERNAME: ${USERNAME}
MUMBLE_CONFIG_DEFAULTCHANNEL: ${DEFAULT_CHANNEL}
MUMBLE_CONFIG_REMEMBERCHANNEL: ${REMEMBER_CHANNEL}
MUMBLE_CONFIG_REMEMBERCHANNELDURATION: ${REMEMBER_CHANNEL_DURATION}
MUMBLE_CONFIG_TEXTMESSAGELENGTH: ${TEXT_MESSAGE_LENGTH}
MUMBLE_CONFIG_IMAGEMESSAGELENGTH: ${IMAGE_MESSAGE_LENGTH}
MUMBLE_CONFIG_ALLOWHTML: ${ALLOW_HTML}
MUMBLE_CONFIG_LOGDAYS: ${LOG_DAYS}
MUMBLE_CONFIG_REGISTERNAME: ${REGISTER_NAME}
MUMBLE_CONFIG_REGISTERPASSWORD: ${REGISTER_PASSWORD}
MUMBLE_CONFIG_REGISTERURL: ${REGISTER_URL}
MUMBLE_CONFIG_REGISTERHOSTNAME: ${REGISTER_HOSTNAME}
MUMBLE_CONFIG_REGISTERLOCATION: ${REGISTER_LOCATION}
MUMBLE_CONFIG_BONJOUR: ${BONJOUR}
MUMBLE_CONFIG_SSLCERT: ${SSL_CERT}
MUMBLE_CONFIG_SSLKEY: ${SSL_KEY}
MUMBLE_CONFIG_SSLPASSPHRASE: ${SSL_PASSPHRASE}
MUMBLE_CONFIG_SSLCAPEM: ${SSL_CA_PEM}
MUMBLE_CONFIG_SSLDHPARAMS: ${SSL_DH_PARAMS}
MUMBLE_CONFIG_SSLCIPHERS: ${SSL_CIPHERS}
MUMBLE_CONFIG_OBFUSCATE: ${OBFUSCATE}
MUMBLE_CONFIG_CERTREQUIRED: ${CERT_REQUIRED}
MUMBLE_CONFIG_SENDVERSION: ${SEND_VERSION}
MUMBLE_CONFIG_SUGGESTVERSION: ${SUGGEST_VERSION}
MUMBLE_CONFIG_SUGGESTPOSITIONAL: ${SUGGEST_POSITIONAL}
MUMBLE_CONFIG_SUGGESTPUSHTOTALK: ${SUGGEST_PUSH_TO_TALK}
MUMBLE_CONFIG_KDFITERATIONS: ${KDF_ITERATIONS}
MUMBLE_CONFIG_AUTOBANATTEMPTS: ${AUTOBAN_ATTEMPTS}
MUMBLE_CONFIG_AUTOBANTIMEFRAME: ${AUTOBAN_TIMEFRAME}
MUMBLE_CONFIG_AUTOBANTIME: ${AUTOBAN_TIME}
MUMBLE_CONFIG_AUTOBANSUCCESSFULCONNECTIONS: ${AUTOBAN_SUCCESSFUL_CONNECTIONS}
MUMBLE_CONFIG_ALLOWRECORDING: ${ALLOW_RECORDING}
MUMBLE_CONFIG_ROLLINGSTATSWINDOW: ${ROLLING_STATS_WINDOW}
MUMBLE_CONFIG_LISTENERSPERCHANNEL: ${LISTENERS_PER_CHANNEL}
MUMBLE_CONFIG_LISTENERSPERUSER: ${LISTENERS_PER_USER}
deploy:
restart_policy:
condition: on-failure