-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile
89 lines (75 loc) · 2.2 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Build stage
FROM debian:bookworm-slim AS build
ARG MUMBLE_RELEASE=1.5.735
ARG DEBIAN_FRONTEND=noninteractive
RUN : \
&& apt-get update \
&& apt-get install --no-install-recommends -y \
build-essential \
ca-certificates \
cmake \
curl \
g++-multilib \
libasound2-dev \
libavahi-compat-libdnssd-dev \
libboost-dev \
libcap-dev \
libogg-dev \
libpoco-dev \
libprotobuf-dev \
libprotoc-dev \
libqt5svg5-dev \
libsndfile1-dev \
libspeechd-dev \
libssl-dev \
libxi-dev \
pkg-config \
protobuf-compiler \
qtbase5-dev \
qttools5-dev \
qttools5-dev-tools \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /root/mumble
RUN : \
&& curl -L -o mumble.tar.gz "https://github.com/mumble-voip/mumble/releases/download/v${MUMBLE_RELEASE}/mumble-${MUMBLE_RELEASE}.tar.gz" \
&& tar -xf mumble.tar.gz
WORKDIR /root/mumble/build
RUN : \
&& cmake \
-Dclient=OFF \
-Dice=OFF \
-DCMAKE_BUILD_TYPE=Release \
/root/mumble/mumble-* \
&& make -j1
# Distribution stage
FROM debian:bookworm-slim
ADD ./LICENSE /licenses/LICENSE
ADD ./LICENSE_MUMBLE /licenses/LICENSE_MUMBLE
ARG DEBIAN_FRONTEND=noninteractive
RUN : \
&& apt-get update \
&& apt-get install --no-install-recommends -y \
libprotobuf32 \
libavahi-compat-libdnssd1 \
libcap2 \
libqt5core5a \
libqt5network5 \
libqt5sql5 \
libqt5sql5-mysql \
libqt5sql5-psql \
libqt5sql5-sqlite \
libqt5xml5 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
COPY --from=build /root/mumble/build/mumble-server /usr/bin/mumble-server
COPY --from=build /root/mumble/build/mumble-server.ini /etc/murmur/mumble-server.ini
RUN : \
&& groupadd --gid 1000 mumble-server \
&& useradd --gid 1000 --uid 1000 mumble-server \
&& install -d -o mumble-server -g mumble-server /config /data
USER mumble-server
EXPOSE 64738/tcp 64738/udp
ADD ./entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["mumble-server", "-v", "-fg", "-ini", "/config/mumble-server.ini"]