commit 968349cf59b81849dfb9ef630ba6f8a9f5efc4d7 Author: shim_ <> Date: Wed May 25 19:31:19 2016 +0200 Initial commit diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ea2a47e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM alpine:latest + +RUN apk update && \ + apk add --no-cache wget murmur bash +RUN wget --no-check-certificate -O /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.0.1/dumb-init_1.0.1_amd64 + +COPY murmur.conf /etc/murmur.conf +COPY init.sh /usr/bin/init.sh + +RUN chmod +x /usr/bin/dumb-init && \ + chmod +r /etc/murmur.conf + + +VOLUME ["/data"] +EXPOSE 64738 64738/udp + +CMD ["/usr/bin/dumb-init","/usr/bin/init.sh"] diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..34cfbda --- /dev/null +++ b/build.sh @@ -0,0 +1 @@ +sudo docker build -no-cache --rm $1 -t shimun/mumble . diff --git a/init.sh b/init.sh new file mode 100755 index 0000000..3415066 --- /dev/null +++ b/init.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +function write_config { + echo "$1"'='"$2" >> /data/murmur.conf +} + +#value key alt +function write_config_if_else { + if [ ! -z "$1" ]; then + write_config "$2" "$1" + else + if [ ! -z "$3" ]; then write_config "$2" "$3"; fi + fi +} + +if [ ! -e /data/murmur.conf ]; then + echo Starting Initialization + cp /etc/murmur.conf /data/murmur.conf + if [ ! -z "$SERVER_PASSWORD" ] ; then write_config 'serverpassword=' "$SERVER_PASSWORD"; fi + if [ ! -z "$MAX_USERS" ] ; then write_config 'users' "$MAX_USERS"; fi + if [ ! -z "$SERVER_TEXT" ] ; then write_config 'welcometext=' "$SERVER_TEXT"; fi + if [ ! -z "$REGISTER_NAME" ] ; then write_config 'registerName=' "$REGISTER_NAME"; fi + if [ ! -z "$BANDWIDTH" ] ; then write_config 'bandwidth=' "$BANDWIDTH"; fi + if [ ! -z "$DATABASE" ] && [ "$DATABASE" == "MYSQL" ]; then + if [ ! -z "$DB_NAME" ] && [ ! -z "$DB_HOST" ]; then + write_config 'dbdriver' 'QMYSQL' + write_config 'database' "$DB_NAME" + write_config 'dbhost' "$DB_HOST" + write_config_if_else "$DB_PORT" 'dbport' '3306' + write_config_if_else "$DB_USER" 'dbusername' "" + write_config_if_else "$DB_PASS" 'dbpassword' "" + write_config_if_else "$DB_PREFIX" 'dbprefix' "" + else + echo "Insufficent Mysql configuration" + exit 1 + fi + else + write_config 'database=' '/data/db.sqlite' + fi + + if [ ! -z "$SUPW" ] ; then /usr/bin/murmurd -fg -ini /data/murmur.conf -supw $SUPW ;fi + echo Initilization Completed +fi + +/usr/bin/murmurd -fg -ini /data/murmur.conf diff --git a/murmur.conf b/murmur.conf new file mode 100644 index 0000000..f7b3b7c --- /dev/null +++ b/murmur.conf @@ -0,0 +1,4 @@ +host=0.0.0.0 +dbus=session +port=64738 +logdays=31