From 99fd37ef3a6564b490a4959fe15b5a3d2d3937ba Mon Sep 17 00:00:00 2001 From: Fabian Stamm Date: Sun, 5 Feb 2023 22:35:27 +0100 Subject: [PATCH] Update Dockerfile to work with more recent versions of Mumble --- Dockerfile | 68 ++++++++++++++++++++++++++++++++++++++---------- files/config.ini | 2 +- files/supw | 2 +- 3 files changed, 56 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index 69b5173..a7c5fb4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,61 @@ -FROM alpine:3.10 +# Define Mumble version +ARG MUMBLE_VERSION=v1.4.287 + +FROM debian:stable + LABEL maintainer="Fabian Stamm " -# Define Mumble version -ARG MUMBLE_VERSION=1.3.4 + +RUN apt update && apt install -y \ + git \ + build-essential \ + cmake \ + ninja-build \ + python3 \ + pkg-config \ + qtbase5-dev \ + qtchooser \ + qt5-qmake \ + qtbase5-dev-tools \ + qttools5-dev \ + qttools5-dev-tools \ + libqt5svg5-dev \ + libboost-dev \ + libssl-dev \ + libprotobuf-dev \ + protobuf-compiler \ + libprotoc-dev \ + libcap-dev \ + libxi-dev \ + libasound2-dev \ + libogg-dev \ + libsndfile1-dev \ + libspeechd-dev \ + libavahi-compat-libdnssd-dev \ + libxcb-xinerama0 \ + libzeroc-ice-dev \ + libpoco-dev \ + g++-multilib + +RUN git clone --recursive https://github.com/mumble-voip/mumble.git + +WORKDIR /mumble + +RUN git checkout ${MUMBLE_VERSION} + +RUN mkdir build + +WORKDIR /mumble/build + +ENV CMAKE_GENERATOR=Ninja +RUN cmake -Dclient=OFF -Dstatic=ON .. + +RUN cmake --build . # Create Mumble directories RUN mkdir -pv /opt/mumble /etc/mumble - # Create non-root user -RUN adduser -DHs /sbin/nologin mumble +RUN adduser --no-create-home --disabled-password --shell /sbin/nologin mumble # Copy config file COPY files/config.ini /etc/mumble/config.ini @@ -17,14 +64,7 @@ COPY files/config.ini /etc/mumble/config.ini COPY files/supw /usr/local/bin/supw RUN chmod +x /usr/local/bin/supw -# Set the bzip archive URL -ARG BZIP_URL=https://github.com/mumble-voip/mumble/releases/download/${MUMBLE_VERSION}/murmur-static_x86-${MUMBLE_VERSION}.tar.bz2 - -# Install dependencies, fetch Mumble bzip archive and chown files -RUN apk add --update ca-certificates bzip2 tar tzdata wget \ - && wget -qO- ${BZIP_URL} | tar -xjv --strip-components=1 -C /opt/mumble \ - && apk del ca-certificates bzip2 tar wget && rm -rf /var/cache/apk/* \ - && chown -R mumble:mumble /etc/mumble /opt/mumble +RUN chown -R mumble:mumble /etc/mumble /opt/mumble # Expose ports EXPOSE 64738 64738/udp @@ -36,4 +76,4 @@ USER mumble VOLUME /etc/mumble # Default command -CMD ["/opt/mumble/murmur.x86", "-fg", "-ini", "/etc/mumble/config.ini"] +CMD ["/mumble/build/mumble-server", "-fg", "-ini", "/etc/mumble/config.ini"] diff --git a/files/config.ini b/files/config.ini index 20fffde..b2a6daf 100644 --- a/files/config.ini +++ b/files/config.ini @@ -9,5 +9,5 @@ database=/etc/mumble/murmur.sqlite # This option is ignored if Murmur isn't started with root privileges. uname=mumble -bandwidth=130000 +bandwidth=200000 welcometext=Welcome! Unauthorized access is prohibited \ No newline at end of file diff --git a/files/supw b/files/supw index 62d09b7..5bd9642 100644 --- a/files/supw +++ b/files/supw @@ -1,3 +1,3 @@ #!/usr/bin/env sh -/opt/mumble/murmur.x86 -ini /etc/mumble/config.ini -readsupw \ No newline at end of file +/mumble/build/mumble-server -ini /etc/mumble/config.ini -readsupw \ No newline at end of file