Skip to content

Server config keys

This page lists the documented server-side settings. There are two shapes:

  • Top-level settings, set as MUMBLE_CONFIG_<NAME> environment variables (or as <name>=<value> in a custom INI file).
  • Plugin settings, set as <plugin.name.key>=<value> in a mounted INI file. Only the file-server plugin exposes public keys today.

See Configuration reference for where these files live on disk.

KeyDefaultDescription
database/data/mumble-server.sqlitePath to the SQLite database.
port64738TCP/UDP port the server listens on.
hostemptyBind address. Empty means “all interfaces”.
welcometextemptyHTML welcome message sent on connect. Supports HTML even when allowhtml is false.
serverpasswordemptyOptional shared password. Registered users bypass this.
registerNameemptyPublic display name. Required for the public directory.
users100Maximum simultaneous users.
usersperchannel0Per-channel limit. 0 means unlimited.
bandwidth558000Max bits/s per user for audio. Hard ceiling is ~134 400 bit/s.
textmessagelength500000Max characters per text message. 0 = unlimited.
imagemessagelength1048576Max bytes for inline images. 0 = unlimited.
allowhtmltrueRender HTML in chat and comments.
defaultchannel0Channel ID new users land in. 0 = root channel. Registered users ignore this unless rememberchannel is false.
rememberchanneltrueIf true, registered users rejoin the channel they were last in. If false, everyone lands in defaultchannel.
rememberchannelduration0How long (in seconds) the server remembers a registered user’s last channel. 0 = remember forever. If a user was away longer than this value, they land in defaultchannel instead.
channelnestinglimit10Maximum nesting depth for channels. Prevents infinite trees.
timeout30Seconds before an unresponsive client is disconnected.
KeyDefaultDescription
username(see below)Regular expression for allowed username characters. Default pattern ([ -=\w\[\]\{\}\(\)\@|\.]+) allows spaces, letters, digits, and common symbols.
channelname(see below)Regular expression for allowed channel name characters. Default ([ -=\w\#\[\]\{\}\(\)\@|]+) allows spaces, #, and common symbols. Max 512 characters.

These send a recommendation to the client if their setting differs. The client shows a notice; it does not force the change. Set to an empty string ("") to disable a suggestion entirely.

KeyDefaultDescription
suggestversionemptyMinimum version string (e.g. 1.4.0). Clients below this version see a “please update” notice.
suggestpushtotalkemptySet to true to nudge voice-activation users to switch to push-to-talk.
suggestpositionalemptySet to true or false to recommend a positional audio setting.
KeyDefaultDescription
bonjourtrueAdvertise the server on the local network via mDNS/Bonjour. The service name comes from registerName.
allowpingtrueAllow unauthenticated ping queries that report user count and server info. Required for the public server directory.
sendversiontrueInclude the server OS in the version string sent to clients.
KeyDefaultDescription
certrequiredfalseIf true, anonymous clients are rejected.
sslCertemptyPath to TLS certificate. Auto-generated if missing.
sslKeyemptyPath to TLS private key.
autobanAttempts0Failed connections that trigger an auto-ban. 0 = off.
autobanTimeframe120Window (seconds) for counting attempts.
autobanTime300How long the auto-ban lasts (seconds).
obfuscatefalseHash IPs in logs. Good for privacy.
KeyDefaultDescription
logdays31Days of log retention in the database.
KeyDefaultDescription
pchatenabledtrueMaster toggle.
pchatrequireregistrationfalseOnly registered users may post.
pchatdefaultmaxhistory5000Messages kept per channel.
pchatdefaultretentiondays90Days messages live.
pchatmaxpayloadsize1048576Max bytes per stored message.
pchatpendingkeyrequestmaxdays7Days before an unfulfilled key request expires.
pchatpendingfulfilledmaxhours24Hours before a fulfilled key request is cleaned up.
pchatperuserpending5Max pending key requests per user.
pchatperchannelpendingsoftcap100Soft cap on pending key requests per channel.
KeyDefaultDescription
pushenabledfalseMaster toggle.
pushmodulepath(auto)Override push library path.
pushcredentialspath/data/fcm-credentials.jsonFirebase JSON key path.
pushprojectidemptyFirebase project ID.
pushtopicprefixmumbleFCM topic prefix.
pushnotifytextmessagetruePush on a chat message.
pushnotifyreactionfalsePush on a reaction.
pushnotifyuserjoinfalsePush on a user join.
KeyDefaultDescription
webrtcsfuenabledfalseMaster toggle.
webrtcsfuport10000UDP listen port.
webrtcsfupublicip127.0.0.1IP advertised to viewers.
webrtcsfumodulepath(auto)Override relay library path.

Dot and hyphen separators in plugin key names are stripped when matching environment variables, so plugin.file-server.storagePath maps to MUMBLE_CONFIG_PLUGIN_FILE_SERVER_STORAGEPATH.

KeyEnv var suffixDefaultDescription
plugin.file-server.enabledPLUGIN_FILE_SERVER_ENABLEDtrueMaster toggle.
plugin.file-server.storagePathPLUGIN_FILE_SERVER_STORAGEPATHunsetAbsolute path to storage directory. Required for the plugin to start.
plugin.file-server.bindAddressPLUGIN_FILE_SERVER_BINDADDRESS127.0.0.1Listen address. Use 0.0.0.0 to expose the port directly.
plugin.file-server.portPLUGIN_FILE_SERVER_PORT64739TCP port.
plugin.file-server.tlsTerminatedByProxyPLUGIN_FILE_SERVER_TLSTERMINATEDBYPROXYfalseSet to true when a reverse proxy handles TLS.
plugin.file-server.baseUrlPLUGIN_FILE_SERVER_BASEURLemptyPublic URL clients use. Falls back to http://host:port if empty.
plugin.file-server.allowedOriginsPLUGIN_FILE_SERVER_ALLOWEDORIGINSemptyComma-separated CORS origins. Empty blocks browser usage.

These are read by the Docker entrypoint, not the server itself.

VariableWhat
MUMBLE_SUPERUSER_PASSWORDSuperUser password. Random and logged on first start if unset.
MUMBLE_CUSTOM_CONFIG_FILEPath to your own INI. Disables MUMBLE_CONFIG_*.
MUMBLE_CHOWN_DATASet to false to skip taking ownership of /data on boot.
MUMBLE_ACCEPT_UNKNOWN_SETTINGSPass through unknown MUMBLE_CONFIG_* values without failing.
MUMBLE_VERBOSEVerbose server logging.
PUID / PGIDUID and GID the server process runs as.
MUMBLE_FCM_CREDENTIALS_BASE64Base64-encoded Firebase JSON, decoded into a tmpfs path at boot.

Reactions, polls, link previews, Watch Together, the whiteboard, and onboarding have no public server config keys today. They are either always-on (riding the plugin-data transport between clients) or controlled in the client UI. If you want a server-wide off switch for any of them, file a feature request on the server repo.