This is a mumble bot for streaming audio from a Mumble room to Icecast.
The Docker image is recommended for running in production. The configuration
file can be mounted to /mumbleice.yml
or configuration can be done using
environment variables. The file location can be changed with the
MUMBLEICE_CONFIG_FILE
environment variable.
All configuration options can be set using environment variables:
docker run -e MUMBLE_SERVER=mumble.server bitcast/mumbleice:dev
- MUMBLE_SERVER: The Mumble server to connect to.
- MUMBLE_PORT: The port which the Mumble server uses. Defaults to
64738
. - MUMBLE_USERNAME: The username for the bot on Mumble. Defaults to
live-streamer
. - MUMBLE_PASSWORD: The server password.
- MUMBLE_CHANNEL: The Mumble channel to join. Defaults to
Root
. - MUMBLE_COMMAND_PREFIX: The command prefix that identifies commands to the
bot. Defaults to
!
. - MUMBLE_MAX_SILENCE: The number of seconds of silence in Mumble required
before the Icecast stream is disconnected. A value less than 0 implies that
the connection will never be disconnected. Defaults to
30
. - ICECAST_SERVER: The Icecast server to connect to.
- ICECAST_PORT: The port which the Icecast server uses. Defaults to
8000
. - ICECAST_USERNAME: The username to authenticate against Icecast with.
Defaults to
source
. - ICECAST_PASSWORD: The password to authenticate against Icecast with.
Defaults to
hackme
. - ICECAST_MOUNT_POINT: The mount point to use for streaming audio. Defaults
to
/mumble
. - ICECAST_AUTOCONNECT: Automatically start streaming to Icecast once it is
connected to Mumble. Defaults to
false
.
Mumbleice requires Python 3.9 or later.
sudo apt install python3-dev python3-pip libopus0 virtualenv pre-commit
virtualenv -p python3 pyenv
pyenv/bin/pip install -e .
pre-commit install
cp mumbleice.yml.example mumbleice.yml
# Configure MumbleIce to connect to your mumble and Icecast servers
pyenv/bin/mumbleice -c mumbleice.yml