main
L_DelOff 2023-09-17 19:05:17 +03:00
parent c14b1c6e04
commit bbbd390d73
4 changed files with 75 additions and 14 deletions

View File

@ -1,13 +1,36 @@
version: '3'
services:
server:
build:
context: .
dockerfile: Dockerfile.multistage
mumble-srv:
build: server/.
container_name: murmur
restart: unless-stopped
volumes:
- /mnt/data/mumble/server/ini:/opt/mumble/ini:rw
- /mnt/data/mumble/server/db:/opt/mumble/db:rw
- /mnt/data/nginx/letsencrypt:/etc/letsencrypt:ro
ports:
- 64738:64738/tcp
- 64738:64738/udp
- 50051:50051
networks:
- mumble-net
mumble-admin:
build: mumble-django/.
container_name: admin
restart: unless-stopped
depends_on:
- mumble-srv
ports:
- 9999:9000
volumes:
- /etc/localtime:/etc/localtime:ro
- /mnt/data/mumble/test:/mumble
- /mnt/data/mumble/mumble-django:/opt/mumble-django/db
- mumble_ice:/opt/mumble/ice
environment:
- MURMUR_CONNSTR=Meta:tcp -h murmur -p 6502
- MURMUR_ICESECRET=''
networks:
- mumble-net

34
mumble-django/Dockerfile Normal file
View File

@ -0,0 +1,34 @@
FROM debian:stretch-slim
RUN apt-get update
RUN apt install -y mercurial patch
WORKDIR /opt
RUN hg clone https://bitbucket.org/Svedrin/mumble-django
COPY IceEncodingVersion.patch /opt/mumble-django
WORKDIR /opt/mumble-django
RUN patch -p1 < IceEncodingVersion.patch
RUN mkdir -p /opt/mumble/ice
RUN apt-get install -y python-pil python-pip
# Install older version of django
RUN pip install django==1.7
# Install zeroc-ice
RUN apt-get install -y libssl-dev libbz2-dev
RUN pip install zeroc-ice
# mumble-django is looking for Murmur.ice in /usr/share/slice
# our share volume will mount it at /opt/mumble/ice/Murmur.ice
# link it to the correct place
RUN mkdir -p /usr/share/slice
RUN ln -s /opt/mumble/ice/Murmur.ice /usr/share/slice/Murmur.ice
VOLUME ["/opt/mumble-django/db"]
EXPOSE 9000/tcp
CMD [ "python", "/opt/mumble-django/pyweb/manage.py", "runserver", "0.0.0.0:9000" ]

View File

@ -0,0 +1,11 @@
diff -ruN mumble-django/pyweb/mumble/MumbleCtlIce.py mumble-django.new/pyweb/mumble/MumbleCtlIce.py
--- mumble-django/pyweb/mumble/MumbleCtlIce.py 2020-08-14 19:42:55.375078615 +0200
+++ mumble-django.new/pyweb/mumble/MumbleCtlIce.py 2020-08-14 19:50:04.321710768 +0200
@@ -94,6 +94,7 @@
prop = Ice.createProperties([])
prop.setProperty("Ice.ImplicitContext", "Shared")
prop.setProperty("Ice.MessageSizeMax", "65535")
+ prop.setProperty("Ice.Default.EncodingVersion", "1.0")
idd = Ice.InitializationData()
idd.properties = prop

View File

@ -44,8 +44,6 @@ RUN cmake -Dclient=OFF -DCMAKE_BUILD_TYPE=Release -Dgrpc=ON .. || \
)
RUN make -j $(nproc)
# Clean distribution stage
FROM ubuntu:focal as prod
@ -74,19 +72,14 @@ RUN apt-get update && apt-get install --no-install-recommends -y \
RUN mkdir /opt/mumble && \
mkdir /opt/mumble/db && \
mkdir /opt/mumble/ini
#&& \
#chown --verbose -R mumble:mumble /opt/mumble
COPY --from=builder /root/mumble/build/mumble-server /opt/mumble
COPY --from=builder /root/mumble/build/mumble-server.ini /opt/mumble/mumble-server.ini
#RUN chown --verbose -R mumble:mumble /opt/mumble
RUN sed -i 's/^database=$/database=\/opt\/mumble\/db\/murmur.sqlite/' /opt/mumble/mumble-server.ini
EXPOSE 64738/tcp 64738/udp 50051
#USER mumble
WORKDIR /
CMD cp -n /opt/mumble/mumble-server.ini /opt/mumble/ini/ && \
# cp -n /opt/mumble/murmur.sqlite /opt/mumble/db/ && \
/opt/mumble/mumble-server -v -fg -ini /opt/mumble/ini/mumble-server.ini