Last active
February 1, 2022 04:30
-
-
Save John-Appleseed/dd6b92c3a77176f373ea1069e7e9aaaa to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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