mumble dockerfile

main
L_DelOff 2023-09-15 20:48:07 +03:00
parent c6f9482c32
commit 3626f45eaa
1 changed files with 76 additions and 34 deletions

View File

@ -1,42 +1,84 @@
FROM ubuntu:latest as build_stage FROM ubuntu:focal
ENV TZ=Europe/Moscow \ # needed to install tzdata
DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update RUN apt-get update && apt-get install --no-install-recommends -y \
RUN apt install -y \ ca-certificates \
git \ git \
build-essential \ build-essential \
cmake \ cmake \
pkg-config \ pkg-config \
qtbase5-dev \ qt5-default \
qt5-qmake \ libboost-dev \
qttools5-dev \ libasound2-dev \
qttools5-dev-tools \ libssl-dev \
libqt5svg5-dev \ libspeechd-dev \
libboost-dev \ libzeroc-ice-dev \
libssl-dev \ libpulse-dev \
libprotobuf-dev \ libcap-dev \
protobuf-compiler \ libprotobuf-dev \
libprotoc-dev \ protobuf-compiler \
libcap-dev \ protobuf-compiler-grpc \
libxi-dev \ libprotoc-dev \
libasound2-dev \ libogg-dev \
libogg-dev \ libavahi-compat-libdnssd-dev \
libsndfile1-dev \ libsndfile1-dev \
libopus-dev \ libgrpc++-dev \
libspeechd-dev \ libxi-dev \
libavahi-compat-libdnssd-dev \ libbz2-dev \
libxcb-xinerama0 \ && apt-get clean \
libzeroc-ice-dev \ && rm -rf /var/lib/apt/lists/*
libpoco-dev
WORKDIR /opt WORKDIR /root
RUN git clone -b 1.5.x https://github.com/mumble-voip/mumble.git RUN git clone -b 1.5.x https://github.com/mumble-voip/mumble.git
WORKDIR /opt/mumble WORKDIR /opt/mumble
RUN git submodule update --init --recursive RUN git submodule update --init --recursive
WORKDIR /root/mumble/build
WORKDIR /opt/mumble/build RUN git submodule update --init --recursive
RUN cmake -Dclient=OFF -Doverlay-xcompile=OFF .. RUN cmake -Dclient=OFF -DCMAKE_BUILD_TYPE=Release -Dgrpc=ON .. || \
RUN cmake --build . ( cat \
/root/mumble/build/CMakeFiles/CMakeOutput.log \
/root/mumble/build/CMakeFiles/CMakeError.log \
&& false \
)
RUN make -j $(nproc)
# Clean distribution stage
FROM ubuntu:focal
ARG DEBIAN_FRONTEND=noninteractive
RUN adduser murmur
RUN apt-get update && apt-get install --no-install-recommends -y \
libcap2 \
libzeroc-ice3.7 \
'^libprotobuf[0-9]+$' \
'^libgrpc[0-9]+$' \
libgrpc++1 \
libavahi-compat-libdnssd1 \
libqt5core5a \
libqt5network5 \
libqt5sql5 \
libqt5sql5-mysql \
libqt5sql5-psql \
libqt5sql5-sqlite \
libqt5xml5 \
libqt5dbus5 \
ca-certificates \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
COPY --from=0 /root/mumble/build/mumble-server /usr/bin/mumble-server
COPY --from=0 /root/mumble/scripts/murmur.ini /etc/murmur/murmur.ini
RUN mkdir /var/lib/murmur && \
chown --verbose murmur:murmur /var/lib/murmur && \
sed -i 's/^database=$/database=\/var\/lib\/murmur\/murmur.sqlite/' /etc/murmur/murmur.ini
EXPOSE 64738/tcp 64738/udp 50051
USER murmur
CMD /usr/bin/mumble-server -v -fg -ini /etc/murmur/murmur.ini