forked from raylabpro/docker-serviio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.debian
98 lines (81 loc) · 5.11 KB
/
Dockerfile.debian
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Serviio docker
#
# VERSION 0.2
# Run with: docker run --rm --name serviio -d -p 23423:23423/tcp -p 8895:8895/tcp -p 1900:1900/udp riftbit/docker-serviio
# or docker run --rm --name serviio -t -i -p 23423:23423/tcp -p 8895:8895/tcp -p 1900:1900/udp riftbit/docker-serviio
FROM debian:stretch-slim
MAINTAINER Riftbit ErgoZ <ergozru@riftbit.com>
# Install Dependencies
RUN echo 'deb http://deb.debian.org/debian stretch main contrib non-free' > /etc/apt/sources.list && \
echo 'deb http://deb.debian.org/debian stretch-updates main' >> /etc/apt/sources.list && \
echo 'deb http://security.debian.org stretch/updates main' >> /etc/apt/sources.list && \
apt-get update && apt-get upgrade -y && \
apt-get install -y apt-utils curl wget tar bzip2 build-essential checkinstall git libjack-jackd2-dev libvpx4 \
libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev librtmp1 openssl \
libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev texi2html zlib1g-dev rtmpdump libfdk-aac-dev \
libssl1.1 libssl-dev libxvidcore-dev libxvidcore4 libass-dev dcraw gnupg librtmp-dev libfdk-aac1 libvpx-dev && \
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list && \
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list && \
echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
echo debconf shared/accepted-oracle-license-v1-1 seen true | debconf-set-selections && \
mkdir -p /usr/share/man/man1 && \
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886 && apt-get update && apt-get install -y oracle-java8-installer oracle-java8-set-default && \
mkdir -p ~/src
ARG YASM_VERSION=1.3.0
# Build Yasm
RUN cd ~/src && curl -s http://www.tortall.net/projects/yasm/releases/yasm-${YASM_VERSION}.tar.gz | tar zxf - -C . && \
cd yasm-${YASM_VERSION} && ./configure && make -j4 && \
checkinstall --pkgname=yasm --pkgversion="${YASM_VERSION}" --backup=no --deldoc=yes --fstrans=no --default && \
rm -rf ~/src/yasm-${YASM_VERSION}
ARG NASM_VERSION=2.13.02
# Build NASM
RUN cd ~/src && curl -s http://www.nasm.us/pub/nasm/releasebuilds/${NASM_VERSION}/nasm-${NASM_VERSION}.tar.xz | tar xJf - -C . && \
cd nasm-${NASM_VERSION} && ./configure --prefix=/usr && make -j4 && \
checkinstall --pkgname=nasm --pkgversion="${NASM_VERSION}" --backup=no --deldoc=yes --fstrans=no --default && \
rm -rf ~/src/nasm-${NASM_VERSION}
# Build x264
RUN cd ~/src && git clone git://git.videolan.org/x264 && \
cd x264 && ./configure -enable-pic --enable-shared --enable-static --disable-opencl && make -j4 && \
checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes --fstrans=no --default
# Build librtmp
#RUN cd ~/src && git clone git://git.ffmpeg.org/rtmpdump && \
# cd rtmpdump && \
# apt-get install -y openssl && \
# make SYS=posix && \
# checkinstall --pkgname=rtmpdump --pkgversion="2:$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default && \
# rm -rf ~/src/rtmpdump
# Build libvpx
#RUN cd ~/src && git clone https://chromium.googlesource.com/webm/libvpx && \
# cd libvpx && git checkout v1.6.1 && ./configure -enable-pic --enable-shared --enable-static && make && \
# checkinstall --pkgname=libvpx --pkgversion="1.6.1" --backup=no --deldoc=yes --fstrans=no --default && \
# rm -rf ~/src/libvpx
ARG SERVIIO_VERSION=1.9
ARG FFMPEG_VERSION=3.4.1
# Build ffmpeg
RUN cd ~/src && curl -s http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz | tar zxf - -C . && \
cd ffmpeg-${FFMPEG_VERSION} && \
./configure --disable-doc --enable-libfdk-aac --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb \
--enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 \
--enable-nonfree --enable-postproc --enable-version3 --enable-libxcb --enable-librtmp \
--enable-libxvid --enable-libass --enable-libvpx && \
make && checkinstall --pkgname=ffmpeg --pkgversion="99:$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default && \
rm -rf ffmpeg-${FFMPEG_VERSION}
# Rebuild x264 for Support LAVF
RUN apt-get remove x264 && \
cd ~/src/x264 && rm *.deb && make distclean && \
./configure --enable-static --disable-opencl && make && \
checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes --fstrans=no --default && \
rm -rf ~/src/x264
# Install Serviio
RUN cd ~/src && curl -s http://download.serviio.org/releases/serviio-${SERVIIO_VERSION}-linux.tar.gz | tar zxf - -C . && \
mkdir -p /opt/serviio && \
mv ./serviio-${SERVIIO_VERSION}/* /opt/serviio && \
chmod +x /opt/serviio/bin/serviio.sh && \
rm -rf ~/src
VOLUME ["/opt/serviio/library", "/opt/serviio/plugins", "/opt/serviio/log", "/media"]
EXPOSE 23423:23423/tcp
EXPOSE 23424:23424/tcp
EXPOSE 23425:23425/tcp
EXPOSE 8895:8895/tcp
EXPOSE 1900:1900/udp
CMD /opt/serviio/bin/serviio.sh