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 \
qttools5-dev \
qttools5-dev-tools \
libqt5svg5-dev \
libboost-dev \ libboost-dev \
libasound2-dev \
libssl-dev \ libssl-dev \
libspeechd-dev \
libzeroc-ice-dev \
libpulse-dev \
libcap-dev \
libprotobuf-dev \ libprotobuf-dev \
protobuf-compiler \ protobuf-compiler \
protobuf-compiler-grpc \
libprotoc-dev \ libprotoc-dev \
libcap-dev \
libxi-dev \
libasound2-dev \
libogg-dev \ libogg-dev \
libsndfile1-dev \
libopus-dev \
libspeechd-dev \
libavahi-compat-libdnssd-dev \ libavahi-compat-libdnssd-dev \
libxcb-xinerama0 \ libsndfile1-dev \
libzeroc-ice-dev \ libgrpc++-dev \
libpoco-dev libxi-dev \
libbz2-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
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