50 lines
1.9 KiB
Docker
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" ]
|