65 lines
1.9 KiB
Docker
65 lines
1.9 KiB
Docker
FROM alpine:3.18 as builder
|
|
|
|
ARG VERSION=1.5.613
|
|
|
|
LABEL \
|
|
org.label-schema.vendor="Alexey Skobkin - skobkin@proton.me" \
|
|
org.label-schema.url="https://git.skobk.in/skobkin/docker-murmur" \
|
|
org.label-schema.name="Murmur Server" \
|
|
org.label-schema.version=$VERSION \
|
|
org.label-schema.vcs-url="https://git.skobk.in/skobkin/docker-murmur.git" \
|
|
org.label-schema.license="MIT" \
|
|
org.label-schema.schema-version="1.0"
|
|
|
|
WORKDIR /tmp/murmur
|
|
|
|
# openssl3-dev qt5-qtsvg-dev avahi-dev git
|
|
RUN set -x \
|
|
apk update -q --no-cache --no-progress && \
|
|
apk add -q --no-cache --no-progress curl
|
|
|
|
RUN \
|
|
curl -sSL https://github.com/mumble-voip/mumble/releases/download/v${VERSION}/mumble-${VERSION}.tar.gz -o /tmp/mumble.tar.gz && \
|
|
tar -zxf /tmp/mumble.tar.gz --strip-components=1 -C /tmp/murmur
|
|
|
|
RUN \
|
|
apk add -q --no-cache --no-progress \
|
|
boost-dev \
|
|
build-base \
|
|
cmake \
|
|
libcap-dev \
|
|
protobuf-dev \
|
|
qt5-qtbase-dev
|
|
|
|
COPY patches/implicit_bool_cast.patch /tmp/murmur/
|
|
|
|
RUN \
|
|
cd /tmp/murmur && \
|
|
mkdir build && \
|
|
cd build && \
|
|
# https://bugs.gentoo.org/863452 \
|
|
patch ../src/SSL.cpp < ../implicit_bool_cast.patch && \
|
|
# static build is currently unavailable
|
|
# see https://github.com/mumble-voip/mumble/issues/5693#issuecomment-1132069719
|
|
# -Dstatic=ON
|
|
cmake -Dclient=OFF -Ddbus=OFF -Dice=OFF -Dzeroconf=OFF -Dlto=ON .. && \
|
|
make -j $(nproc)
|
|
|
|
FROM alpine:3.18
|
|
|
|
RUN \
|
|
apk update -q --no-cache && \
|
|
apk add -q --no-cache libcap libcrypto1.1 libgcc libprotobuf libssl1.1 libstdc++ musl qt5-qtbase qt5-qtbase-sqlite \
|
|
shadow tzdata && \
|
|
mkdir -p /ssl && \
|
|
mkdir -p /config && \
|
|
mkdir -p /data
|
|
|
|
COPY --from=builder /tmp/murmur/build/mumble-server /bin/mumble-server
|
|
|
|
EXPOSE 64738/tcp 64738/udp
|
|
|
|
VOLUME ["/config", "/data", "/ssl"]
|
|
|
|
ENTRYPOINT ["/bin/mumble-server", "-ini", "/config/murmur.ini", "-v", "-fg"]
|