--- 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_BONJOUR: ${BONJOUR} 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: