80 lines
1.5 KiB
Docker
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"]
|