FROM debian:bullseye 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/murmur RUN \ git clone https://github.com/mumble-voip/mumble.git . \ && git checkout master \ && git submodule init \ && git submodule update WORKDIR /usr/src/murmur/build RUN \ cmake -Dclient=OFF -DCMAKE_BUILD_TYPE=Release -Dgrpc=ON .. \ && make -j $(nproc) FROM debian:bullseye 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 \ libqt5network5 \ libcap2 \ 'libgrpc[0-9]+$' \ libgrpc++1 \ libzeroc-ice3.7 \ && apt-get clean && rm -rf /var/lib/apt/lists/* COPY --from=builder /usr/src/murmur/build/murmurd /usr/bin/murmurd USER user COPY --from=builder --chown=user:user /usr/src/murmur/scripts/murmur.ini /data/murmur.ini VOLUME ["/data"] ENTRYPOINT [ "/usr/bin/murmurd" ] CMD [ "-fg", "-v", "-ini", "/data/murmur.ini" ]