# Define Mumble version ARG MUMBLE_VERSION=v1.4.287 FROM debian:stable LABEL maintainer="Fabian Stamm " 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 --no-create-home --disabled-password --shell /sbin/nologin mumble # Copy config file COPY files/config.ini /etc/mumble/config.ini # Copy SuperUser password update script COPY files/supw /usr/local/bin/supw RUN chmod +x /usr/local/bin/supw RUN chown -R mumble:mumble /etc/mumble /opt/mumble # Expose ports EXPOSE 64738 64738/udp # Set running user USER mumble # Set volumes VOLUME /etc/mumble # Default command CMD ["/mumble/build/mumble-server", "-fg", "-ini", "/etc/mumble/config.ini"]