diff --git a/Dockerfile b/Dockerfile index 16d8515..3f51626 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:16.04 +FROM ubuntu:18.04 ENV DEBIAN_FRONTEND noninteractive ENV SNOWMIX_VERSION 0.5.1 @@ -6,7 +6,7 @@ ENV SNOWMIX_VERSION 0.5.1 WORKDIR /opt RUN apt update && apt -y --no-install-recommends install gstreamer1.0-tools build-essential automake \ autoconf libtool g++ pkg-config libsdl1.2-dev libpango1.0-dev \ - libpng12-dev libosmesa6-dev freeglut3-dev wget ca-certificates + libpng-dev libosmesa6-dev freeglut3-dev wget ca-certificates RUN wget https://downloads.sourceforge.net/project/snowmix/Snowmix-${SNOWMIX_VERSION}.tar.gz -O Snowmix.tgz && \ tar xvf Snowmix.tgz @@ -22,20 +22,28 @@ RUN useradd snowmix && mkdir /home/snowmix /run/snowmix && chown snowmix /home/s WORKDIR /config -RUN apt install -y --no-install-recommends gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-plugins-base gstreamer1.0-x - -RUN apt install -y --no-install-recommends netcat bc - -ENV GOPATH /usr/src/go -RUN apt install -y --no-install-recommends golang git libpcap-dev - -ADD ./tools /tools -RUN mkdir $GOPATH && cd /tools/de-ip-hdmi && go get -d . && go build . && chmod +s /tools/de-ip-hdmi/de-ip-hdmi +RUN apt install -y --no-install-recommends \ + gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \ + gstreamer1.0-plugins-base gstreamer1.0-x gstreamer1.0-pulseaudio \ + netcat bc golang git libpcap-dev # Patch netcat! RUN sed -i -e 's_NC\=.*_NC="nc -q1"_' /usr/local/lib/Snowmix-0.5.1/scripts/snowmix-settings -RUN apt-get install -y --no-install-recommends gstreamer1.0-pulseaudio +RUN apt install -y --no-install-recommends libgstreamer1.0-dev python-gi-dev python-dev +RUN git clone git://anongit.freedesktop.org/git/gstreamer/gst-python -b 1.14.1 /opt/gst-python && \ + cd /opt/gst-python && \ + ./autogen.sh --disable-gtk-doc --noconfigure && \ + ./configure --with-libpython-dir="/usr/lib/x86_64-linux-gnu" && \ + make && \ + make install +RUN apt install -y --no-install-recommends python-pyparsing python-gst-1.0 + +ADD ./tools /tools + +ENV GOPATH /usr/src/go +RUN mkdir $GOPATH && cd /tools/de-ip-hdmi && go get -d . && go build . && chmod +s /tools/de-ip-hdmi/de-ip-hdmi +ENV GST_PLUGIN_PATH $GST_PLUGIN_PATH:/opt/gst-snowmix USER snowmix CMD [ "/tools/run-snowmix" ] diff --git a/assets/images/base-background.svg b/assets/images/base-background.svg index 661ad67..0830976 100644 --- a/assets/images/base-background.svg +++ b/assets/images/base-background.svg @@ -7,6 +7,7 @@ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="1280" @@ -29,6 +30,28 @@ id="path2195" d="M 0,841.89 H 595.28 V 0 H 0 Z" /> + + + + + + @@ -85,16 +108,18 @@ transform="translate(4.0406102,344.484)">Beer & Bitcoin KKC2019Day #2 15/01/2019 13/04/2019 Warsaw Hackerspace + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Lato;-inkscape-font-specification:Lato;text-align:center;text-anchor:middle;fill:#ffffff">GdaƄsk - + id="g1070" /> + + id="g1326" + transform="matrix(1.1367071,0,0,1.1367071,411.29596,-243.21787)"> + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docker-compose.yml b/docker-compose.yml index 4637009..fd4abca 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,11 +1,19 @@ version: "3.5" +x-defaults: &defaults + build: . + restart: unless-stopped + working_dir: /tools + volumes: + - sockets:/run/snowmix + network_mode: host + ipc: host + services: snowmix: build: . restart: unless-stopped volumes: - #- /home/informatic/Projects/snowmix-tools-streamboxback/snowconfig:/config - sockets:/run/snowmix - ./config:/config:ro - ./assets:/assets:ro @@ -61,58 +69,24 @@ services: # FIXME this should be done in de-ip-hdmi... multicast: - build: . - restart: unless-stopped + <<: *defaults command: /tools/multicastjoin - network_mode: host lenkeng1: - build: . - restart: unless-stopped - volumes: - - sockets:/run/snowmix - command: /tools/lenkeng2feed 1:10.8.1.34 -interface ens3 - network_mode: host - ipc: host + <<: *defaults + command: /tools/lenkeng2feed 1:10.8.1.34 -interface ${SNOWMIX_INTERFACE:-enp0s31f6} lenkeng1-audio: - build: . - restart: unless-stopped - volumes: - - sockets:/run/snowmix - command: /tools/lenkengaudio2feed 1:10.8.1.34 -interface ens3 - network_mode: host - ipc: host + <<: *defaults + command: /tools/lenkengaudio2feed 1:10.8.1.34 -interface ${SNOWMIX_INTERFACE:-enp0s31f6} lenkeng2: - build: . - restart: unless-stopped - volumes: - - sockets:/run/snowmix - command: /tools/lenkeng2feed 2:10.8.1.35 -interface ens3 - network_mode: host - ipc: host + <<: *defaults + command: /tools/lenkeng2feed 2:10.8.1.35 -interface ${SNOWMIX_INTERFACE:-enp0s31f6} lenkeng2-audio: - build: . - restart: unless-stopped - volumes: - - sockets:/run/snowmix - command: /tools/lenkengaudio2feed 2:10.8.1.35 -interface ens3 - network_mode: host - ipc: host + <<: *defaults + command: /tools/lenkengaudio2feed 2:10.8.1.35 -interface ${SNOWMIX_INTERFACE:-enp0s31f6} - # sound-capture: - # build: . - #restart: unless-stopped - #volumes: - #- sockets:/run/snowmix - #- ./tools:/tools - #command: /tools/pulse2feed 3 'alsa_output.pci-0000_00_0f.0.analog-stereo.monitor' - #network_mode: host - #ipc: host - #environment: - #- SNOWMIX_IP=10.8.0.95 - #- PULSE_SERVER=sound.waw.hackerspace.pl volumes: - sockets: + sockets: diff --git a/tools/de-ip-hdmi b/tools/de-ip-hdmi index cabe71f..809838a 160000 --- a/tools/de-ip-hdmi +++ b/tools/de-ip-hdmi @@ -1 +1 @@ -Subproject commit cabe71f6f6ba2beb287dc2a984e01b8e95516377 +Subproject commit 809838ad40d15688fedeb5767c4159d74948435c diff --git a/tools/multicastjoin b/tools/multicastjoin index 34f4d28..3b9025d 100755 --- a/tools/multicastjoin +++ b/tools/multicastjoin @@ -3,6 +3,6 @@ set -e while true; do - python /tools/multicastjoin.py + python ./multicastjoin.py sleep 0.5 done