django
parent
c14b1c6e04
commit
bbbd390d73
|
@ -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
|
|
@ -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" ]
|
|
@ -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
|
|
@ -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
|
Loading…
Reference in New Issue