Skip to content

Instantly share code, notes, and snippets.

@John-Appleseed
Last active February 1, 2022 04:30
Show Gist options
  • Save John-Appleseed/dd6b92c3a77176f373ea1069e7e9aaaa to your computer and use it in GitHub Desktop.
Save John-Appleseed/dd6b92c3a77176f373ea1069e7e9aaaa to your computer and use it in GitHub Desktop.
# mumble.install: install and run mumble-server docker image
# - mumble-voip/mumble: Mumble is an open-source, low-latency, high quality voice chat software. - https://github.com/mumble-voip/mumble
# - Mumble - https://www.mumble.info/
# - Leverage multi-CPU architecture support | Docker Documentation - https://docs.docker.com/desktop/multi-arch/
# Config Paths
# PC: /data/mumble-server/config.ini
# ARM: /data/mumble-server/murmur.ini
# /data/mumble-server/mumble-server.sqlite
mumble.install(){
mumble_server_path="/data/mumble-server"
mumble_server_password="$(openssl rand -base64 32 | tr -cd '[:alnum:]._-')"
sudo mkdir -p "$mumble_server_path"
echo sudo chown -R 1000:1000 "$mumble_server_path"
sudo chown -R 1000:1000 "$mumble_server_path"
echo sudo chmod -R 775 "$mumble_server_path"
sudo chmod -R 775 "$mumble_server_path"
if [ -z "$ARCH" ]; then
ARCH=$(uname -m)
fi
case $ARCH in
arm64|x86_64)
ARCH=arm64
SUFFIX=-${ARCH}
mumble_docker_build=true
docker_platform="linux/amd64"
;;
aarch64)
ARCH=arm64
SUFFIX=-${ARCH}
mumble_docker_build=true
docker_platform="linux/arm64"
;;
arm*)
ARCH=arm
SUFFIX=-${ARCH}hf
mumble_docker_build=true
docker_platform="linux/arm/v7"
;;
*)
echo fatal "Unsupported architecture $ARCH"
esac
# ARCH: x84 x84-64
#if [[ $ARCH == "amd64" ]]; then
#sudo docker run -d -p 64738:64738 -p 64738:64738/udp -v "$mumble_server_path":/etc/mumble --name mumble-server \
#-e TZ=America/Chicago \
#-e SUPERUSER_PASSWORD="$mumble_server_password" \
#--restart unless-stopped \
#"phlak/mumble:1.3.4"
#fi
# Build and run docker mumble-server
if $mumble_docker_build;then
# Try to run docker image
# --platform "$docker_platform"
sudo docker run -d \
--name mumble-server \
-v "$mumble_server_path":/etc/murmur \
-e TZ=America/Chicago \
-e SUPERUSER_PASSWORD="$mumble_server_password" \
-p 64738:64738 \
-p 64738:64738/udp \
--restart unless-stopped \
"mumble-server:latest"
# if failed; then build and run
if [[ ! $? == 0 ]];then
echo "\$? 0"
# ~40min on a Pi 2
echo Building mumble-server docker container image. Takes about 40min on a Raspberry Pi 2, 12min on a FX-8350.
echo time sudo docker build --pull -t mumble-server "github.com/mumble-voip/mumble#v1.4.230"
time sudo docker build --pull -t mumble-server "github.com/mumble-voip/mumble#v1.4.230"
sudo docker run -d \
--name mumble-server \
-v "$mumble_server_path":/etc/murmur \
-e TZ=America/Chicago \
-e SUPERUSER_PASSWORD="$mumble_server_password" \
-p 64738:64738 \
-p 64738:64738/udp \
--restart unless-stopped \
"mumble-server:latest"
fi
fi
echo "$mumble_server_path"
\ls -l "$mumble_server_path"
echo "mumble server superuser password: $mumble_server_password"
# Troubleshoot container
# sudo docker run -it --entrypoint="/bin/sh" mumble-server
# Ensure config file permissions are set to 1000:1000
}
# ---
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment