murmur/Dockerfile
Zombi Dev User eb33e133cc update mumble server docker image to use debian bookworm
we updated the "murmur" image to debian bookworm, changed paths which
have been changed (murmur.ini is now mumble-server.ini and in a
different dir) and renamed all directories from murmur to mumble-server

we did basic testing and it works generally. We couldn't get mumo to
work yet though. The grpc stuff is unsupported in the current mumble
release as well.

authored by:
 - lino <cpp@zom.bi>
 - lod <lod@zom.bi>
 - bsod <bsod@zom.bi>
2023-07-05 01:36:27 +02:00

75 lines
1.7 KiB
Docker

FROM debian:bookworm AS builder
# Build-time dependencies
RUN apt-get update -yqq && apt-get install -yqq \
ca-certificates \
build-essential \
cmake \
pkg-config \
qtbase5-dev \
libboost-dev \
libasound2-dev \
libssl-dev \
libspeechd-dev \
libzeroc-ice-dev \
libpulse-dev \
libcap-dev \
libprotobuf-dev \
libprotoc-dev \
protobuf-compiler \
protobuf-compiler-grpc \
libgrpc++-dev \
libogg-dev \
libavahi-compat-libdnssd-dev \
libsndfile1-dev \
libbz2-dev \
libxi-dev \
git --no-install-recommends
WORKDIR /usr/src/mumble
RUN \
git clone https://github.com/mumble-voip/mumble.git . \
&& git checkout master \
&& git submodule init \
&& git submodule update
WORKDIR /usr/src/mumble/build
RUN \
cmake -Dclient=OFF -DCMAKE_BUILD_TYPE=Release -Dgrpc=ON .. \
&& make -j $(nproc)
FROM debian:bookworm
EXPOSE 64738/tcp 64738/udp
ENV HOME /home/user
RUN useradd --create-home --home-dir $HOME user \
&& chown -R user:user $HOME
WORKDIR $HOME
# Runtime dependencies
RUN apt-get update && apt-get install -yqq \
ca-certificates \
'libprotobuf[0-9]+$' \
libqt5core5a \
libqt5dbus5 \
libqt5xml5 \
libqt5sql5 \
libavahi-compat-libdnssd1 \
libqt5network5 \
libcap2 \
'libgrpc[0-9]+$' \
libgrpc++1 \
libzeroc-ice3.7 \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/mumble/build/mumble-server /usr/bin/mumble-server
USER user
COPY --from=builder --chown=user:user /usr/src/mumble/auxiliary_files/mumble-server.ini /data/mumble-server.ini
VOLUME ["/data"]
ENTRYPOINT [ "/usr/bin/mumble-server" ]
CMD [ "-fg", "-v", "-ini", "/data/mumble-server.ini" ]