MumbleDocker/Dockerfile

80 lines
1.5 KiB
Docker

# Define Mumble version
ARG MUMBLE_VERSION=v1.4.287
FROM debian:stable
LABEL maintainer="Fabian Stamm <dev@fabianstamm.de>"
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"]