streaming-docker/Dockerfile

50 lines
1.9 KiB
Docker

FROM ubuntu:18.04
ENV DEBIAN_FRONTEND noninteractive
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 \
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
RUN apt -y --no-install-recommends install tcl tk bwidget tcl-dev
RUN cd Snowmix-${SNOWMIX_VERSION} && \
aclocal && autoconf && libtoolize --force && automake --add-missing && \
./configure && make && make install
ENV SNOWMIX /usr/local/lib/Snowmix-${SNOWMIX_VERSION}
RUN useradd snowmix && mkdir /home/snowmix /run/snowmix && chown snowmix /home/snowmix /run/snowmix
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 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 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" ]