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
90 lines
3.8 KiB
YAML
90 lines
3.8 KiB
YAML
---
|
|
version: "3.8"
|
|
|
|
services:
|
|
app:
|
|
image: mumblevoip/mumble-server:v1.6.870-0
|
|
networks:
|
|
- proxy
|
|
volumes:
|
|
- "mumble_data:/data"
|
|
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
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.tcp.routers.${STACK_NAME}.entrypoints=mumble"
|
|
- "traefik.tcp.routers.${STACK_NAME}.service=${STACK_NAME}-tcp-service"
|
|
- "traefik.tcp.routers.${STACK_NAME}.rule=HostSNI(`*`)"
|
|
- "traefik.tcp.routers.${STACK_NAME}.tls.passthrough=true"
|
|
- "traefik.tcp.services.${STACK_NAME}-tcp-service.loadbalancer.server.port=64738"
|
|
- "traefik.udp.routers.${STACK_NAME}.entrypoints=mumble-udp"
|
|
- "traefik.udp.routers.${STACK_NAME}.service=${STACK_NAME}-udp-service"
|
|
- "traefik.udp.services.${STACK_NAME}-udp-service.loadbalancer.server.port=64738"
|
|
- "coop-cloud.${STACK_NAME}.version=0.1.0+v1.6.870-0"
|
|
|
|
secrets:
|
|
superuser-pw:
|
|
external: true
|
|
name: ${STACK_NAME}_superuser-pw_${SECRET_SUPERUSER_PASSWORD_VERSION}
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
|
|
volumes:
|
|
mumble_data:
|