Skip to content

Commit 1b8ba53

Browse files
author
Jan Stabenow
committed
ADD v0.1.0-rc.1
1 parent 5ec8685 commit 1b8ba53

24 files changed

+1270
-1
lines changed

.dockerignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.dockerignore
2+
Dockerfile*
3+
.git
4+
.gitignore
5+
/docs
6+
*.md

Dockerfile

Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
FROM debian:jessie
2+
3+
MAINTAINER datarhei <info@datarhei.org>
4+
5+
ENV RESTREAMER_EDGE_VERSION=0.1.0-rc.1 \
6+
FFMPEG_VERSION=2.8.6 \
7+
YASM_VERSION=1.3.0 \
8+
LAME_VERSION=3_99_5 \
9+
NGINX_VERSION=1.9.9 \
10+
NGINX_RTMP_VERSION=1.1.7.10 \
11+
12+
SRC="/usr/local" \
13+
LD_LIBRARY_PATH="${SRC}/lib" \
14+
PKG_CONFIG_PATH="${SRC}/lib/pkgconfig" \
15+
16+
BUILDDEPS="autoconf automake gcc g++ libtool make nasm unzip zlib1g-dev libssl-dev xz-utils cmake build-essential libpcre3-dev"
17+
18+
RUN rm -rf /var/lib/apt/lists/* && \
19+
apt-get update && \
20+
apt-get install -y --force-yes curl git libpcre3 tar perl ca-certificates apache2-utils libaio1 ${BUILDDEPS} && \
21+
22+
# yasm
23+
DIR="$(mktemp -d)" && cd "${DIR}" && \
24+
curl -LOks "https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VERSION}.tar.gz" && \
25+
tar xzvf "yasm-${YASM_VERSION}.tar.gz" && \
26+
cd "yasm-${YASM_VERSION}" && \
27+
./configure \
28+
--prefix="${SRC}" \
29+
--bindir="${SRC}/bin" && \
30+
make -j"$(nproc)" && \
31+
make install && \
32+
make distclean && \
33+
rm -rf "${DIR}" && \
34+
35+
# x264
36+
DIR="$(mktemp -d)" && cd "${DIR}" && \
37+
git clone --depth 1 "git://git.videolan.org/x264" && \
38+
cd x264 && \
39+
./configure \
40+
--prefix="${SRC}" \
41+
--bindir="${SRC}/bin" \
42+
--enable-static \
43+
--disable-cli && \
44+
make -j"$(nproc)" && \
45+
make install && \
46+
make distclean && \
47+
rm -rf "${DIR}" && \
48+
49+
# libmp3lame
50+
DIR="$(mktemp -d)" && cd "${DIR}" && \
51+
curl -LOks "https://github.com/rbrito/lame/archive/RELEASE__${LAME_VERSION}.tar.gz" && \
52+
tar xzvf "RELEASE__${LAME_VERSION}.tar.gz" && \
53+
cd "lame-RELEASE__${LAME_VERSION}" && \
54+
./configure \
55+
--prefix="${SRC}" \
56+
--bindir="${SRC}/bin" \
57+
--enable-nasm \
58+
--disable-shared && \
59+
make -j"$(nproc)" && \
60+
make install && \
61+
make distclean && \
62+
rm -rf "${DIR}" && \
63+
64+
# ffmpeg
65+
# patch: andrew-shulgin Ignore invalid sprop-parameter-sets missing PPS
66+
DIR="$(mktemp -d)" && cd "${DIR}" && \
67+
curl -LOks "https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz" && \
68+
tar xzvf "ffmpeg-${FFMPEG_VERSION}.tar.gz" && \
69+
cd "ffmpeg-${FFMPEG_VERSION}" && \
70+
curl -Lks "https://github.com/FFmpeg/FFmpeg/commit/1c7e2cf9d33968375ee4025d2279c937e147dae2.patch" | patch -p1 && \
71+
./configure \
72+
--prefix="${SRC}" \
73+
--bindir="${SRC}/bin" \
74+
--extra-cflags="-I${SRC}/include" \
75+
--extra-ldflags="-L${SRC}/lib" \
76+
--extra-libs=-ldl \
77+
--enable-nonfree \
78+
--enable-gpl \
79+
--enable-version3 \
80+
--enable-avresample \
81+
--enable-libmp3lame \
82+
--enable-libx264 \
83+
--enable-openssl \
84+
--enable-postproc \
85+
--enable-small \
86+
--disable-debug \
87+
--disable-doc \
88+
--disable-ffserver && \
89+
make -j"$(nproc)" && \
90+
make install && \
91+
make distclean && \
92+
hash -r && \
93+
cd tools && \
94+
make qt-faststart && \
95+
cp qt-faststart "${SRC}/bin" && \
96+
rm -rf "${DIR}" && \
97+
echo "${SRC}/lib" > "/etc/ld.so.conf.d/libc.conf" && \
98+
ffmpeg -buildconf && \
99+
100+
# nginx-rtmp
101+
DIR=$(mktemp -d) && cd ${DIR} && \
102+
curl -LOks "https://github.com/nginx/nginx/archive/release-${NGINX_VERSION}.tar.gz" && \
103+
tar xzvf "release-${NGINX_VERSION}.tar.gz" && \
104+
curl -LOks "https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/archive/v${NGINX_RTMP_VERSION}.tar.gz" && \
105+
tar xzvf "v${NGINX_RTMP_VERSION}.tar.gz" && \
106+
curl -LOks https://github.com/vozlt/nginx-module-vts/archive/master.zip && \
107+
unzip master.zip && \
108+
rm master.zip && \
109+
curl -LOks https://github.com/nginx/njs/archive/master.zip && \
110+
unzip master.zip && \
111+
rm master.zip && \
112+
cd nginx-release-${NGINX_VERSION} && \
113+
auto/configure \
114+
--with-file-aio \
115+
--with-http_ssl_module \
116+
--add-module="../nginx-module-vts-master" \
117+
--add-module="../njs-master/nginx" \
118+
--add-module="../nginx-rtmp-module-${NGINX_RTMP_VERSION}" && \
119+
make -j"$(nproc)" && \
120+
make install && \
121+
rm -rf ${DIR} && \
122+
123+
apt-get purge -y --auto-remove ${BUILDDEPS} && \
124+
apt-get clean -y && \
125+
rm -rf /var/lib/apt/lists/* && \
126+
rm -rf /var/tmp/* && \
127+
rm -rf /tmp/*
128+
129+
ADD templates /templates
130+
ADD favicon.ico /usr/local/nginx/html/favicon.ico
131+
ADD run.sh /run.sh
132+
RUN mkdir /usr/local/nginx/conf/vhost && \
133+
mkdir /usr/local/nginx/conf/vhost/www && \
134+
mkdir /usr/local/nginx/conf/vhost/rtmp && \
135+
mkdir /usr/local/nginx/html/images && \
136+
chmod 777 /usr/local/nginx/html/images && \
137+
chmod +x /run.sh && \
138+
139+
# clappr-player
140+
DIR=$(mktemp -d) && cd ${DIR} && \
141+
curl -LOks "https://github.com/clappr/clappr/archive/master.tar.gz" && \
142+
tar xzvf "master.tar.gz" && \
143+
rm master.tar.gz && \
144+
curl -LOks "https://github.com/clappr/clappr-level-selector-plugin/archive/master.tar.gz" && \
145+
tar xzvf "master.tar.gz" && \
146+
rm master.tar.gz && \
147+
mv * /usr/local/nginx/html && \
148+
rm -rf ${DIR}
149+
150+
ENV WORKER_PROCESSES=1 \
151+
WORKER_CONNECTIONS=1024 \
152+
153+
RTMP_ACCESS_LOG=off \
154+
155+
RTMP_SERVER_PORT=1935 \
156+
RTMP_SERVER_TIMEOUT=60s \
157+
RTMP_SERVER_PING=3m \
158+
RTMP_SERVER_PING_TIMEOUT=30s \
159+
RTMP_SERVER_MAX_STREAMS=32 \
160+
RTMP_SERVER_ACK_WINDOW=5000000 \
161+
RTMP_SERVER_CHUNK_SIZE=4096 \
162+
RTMP_SERVER_MAX_MESSAGE=1M \
163+
RTMP_SERVER_BUFLEN=5s \
164+
RTMP_SERVER_HLS_FRAGMENT=2s \
165+
RTMP_SERVER_HLS_PLAYLIST_LENGTH=60 \
166+
RTMP_SERVER_HLS_SYNC=1ms \
167+
RTMP_SERVER_HLS_CONTINOUS=off \
168+
RTMP_SERVER_HLS_NESTED=off \
169+
RTMP_SERVER_HLS_CLEANUP=on \
170+
RTMP_SERVER_HLS_FRAGMENT_NAMING=sequential \
171+
RTMP_SERVER_HLS_FRAGMENT_NAMING_GRANULARITY=0 \
172+
RTMP_SERVER_HLS_FRAGMENT_SLICING=plain \
173+
RTMP_SERVER_HLS_TYPE=live \
174+
RTMP_SERVER_HLS_KEY=off \
175+
RTMP_SERVER_HLS_FRAGMENTS_PER_KEY=0 \
176+
RTMP_SERVER_HLS_MAX_CONNECTIONS=1000 \
177+
RTMP_SERVER_HLS_SNAPSHOT_INTERVAL=60 \
178+
RTMP_SERVER_HLS_TRANSCODING=false \
179+
RTMP_SERVER_HLS_TRANSCODING_PROFILES=240p,360p,480p,720p \
180+
RTMP_SERVER_HLS_PUBLISH_TOKEN=datarhei \
181+
182+
HTTP_SENDFILE=off \
183+
HTTP_TCP_NOPUSH=on \
184+
HTTP_AIO=on \
185+
HTTP_DIRECTIO=512 \
186+
HTTP_ACCESS_LOG=off \
187+
188+
HTTP_SERVER_PORT=80 \
189+
HTTP_SERVER_HLS_ACCESS_CONTROL_ALLOW_ORIGIN=* \
190+
HTTP_SERVER_HLS_STATUS_USERNAME=admin \
191+
HTTP_SERVER_HLS_STATUS_PASSWORD=datarhei
192+
193+
CMD ["/run.sh"]

Dockerfile_aarch64

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
FROM aarch64/debian:jessie
2+
3+
MAINTAINER datarhei <info@datarhei.org>
4+
5+
ENV RESTREAMER_EDGE_VERSION=0.1.0-rc.1 \
6+
FFMPEG_VERSION=2.8.6 \
7+
YASM_VERSION=1.3.0 \
8+
LAME_VERSION=3_99_5 \
9+
NGINX_VERSION=1.9.9 \
10+
NGINX_RTMP_VERSION=1.1.7.10 \
11+
12+
SRC="/usr/local" \
13+
LD_LIBRARY_PATH="${SRC}/lib" \
14+
PKG_CONFIG_PATH="${SRC}/lib/pkgconfig" \
15+
16+
BUILDDEPS="autoconf automake gcc g++ libtool make nasm unzip zlib1g-dev libssl-dev xz-utils cmake build-essential libpcre3-dev"
17+
18+
RUN rm -rf /var/lib/apt/lists/* && \
19+
apt-get update && \
20+
apt-get install -y --force-yes curl git libpcre3 tar perl ca-certificates apache2-utils libaio1 ${BUILDDEPS} && \
21+
22+
# yasm
23+
DIR="$(mktemp -d)" && cd "${DIR}" && \
24+
curl -LOks "https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VERSION}.tar.gz" && \
25+
tar xzvf "yasm-${YASM_VERSION}.tar.gz" && \
26+
cd "yasm-${YASM_VERSION}" && \
27+
cp /usr/share/automake-1.14/config.guess config.guess && \
28+
./configure \
29+
--prefix="${SRC}" \
30+
--bindir="${SRC}/bin" && \
31+
make -j"$(nproc)" && \
32+
make install && \
33+
make distclean && \
34+
rm -rf "${DIR}" && \
35+
36+
# x264
37+
DIR="$(mktemp -d)" && cd "${DIR}" && \
38+
git clone --depth 1 "git://git.videolan.org/x264" && \
39+
cd x264 && \
40+
./configure \
41+
--prefix="${SRC}" \
42+
--bindir="${SRC}/bin" \
43+
--enable-static \
44+
--disable-cli && \
45+
make -j"$(nproc)" && \
46+
make install && \
47+
make distclean && \
48+
rm -rf "${DIR}" && \
49+
50+
# libmp3lame
51+
DIR="$(mktemp -d)" && cd "${DIR}" && \
52+
curl -LOks "https://github.com/rbrito/lame/archive/RELEASE__${LAME_VERSION}.tar.gz" && \
53+
tar xzvf "RELEASE__${LAME_VERSION}.tar.gz" && \
54+
cd "lame-RELEASE__${LAME_VERSION}" && \
55+
cp /usr/share/automake-1.14/config.guess config.guess && \
56+
./configure \
57+
--prefix="${SRC}" \
58+
--bindir="${SRC}/bin" \
59+
--enable-nasm \
60+
--disable-shared && \
61+
make -j"$(nproc)" && \
62+
make install && \
63+
make distclean && \
64+
rm -rf "${DIR}" && \
65+
66+
# ffmpeg
67+
# patch: andrew-shulgin Ignore invalid sprop-parameter-sets missing PPS
68+
DIR="$(mktemp -d)" && cd "${DIR}" && \
69+
curl -LOks "https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz" && \
70+
tar xzvf "ffmpeg-${FFMPEG_VERSION}.tar.gz" && \
71+
cd "ffmpeg-${FFMPEG_VERSION}" && \
72+
curl -Lks "https://github.com/FFmpeg/FFmpeg/commit/1c7e2cf9d33968375ee4025d2279c937e147dae2.patch" | patch -p1 && \
73+
./configure \
74+
--prefix="${SRC}" \
75+
--bindir="${SRC}/bin" \
76+
--extra-cflags="-I${SRC}/include" \
77+
--extra-ldflags="-L${SRC}/lib" \
78+
--extra-libs=-ldl \
79+
--enable-nonfree \
80+
--enable-gpl \
81+
--enable-version3 \
82+
--enable-avresample \
83+
--enable-libmp3lame \
84+
--enable-libx264 \
85+
--enable-openssl \
86+
--enable-postproc \
87+
--enable-small \
88+
--disable-debug \
89+
--disable-doc \
90+
--disable-ffserver && \
91+
make -j"$(nproc)" && \
92+
make install && \
93+
make distclean && \
94+
hash -r && \
95+
cd tools && \
96+
make qt-faststart && \
97+
cp qt-faststart "${SRC}/bin" && \
98+
rm -rf "${DIR}" && \
99+
echo "${SRC}/lib" > "/etc/ld.so.conf.d/libc.conf" && \
100+
ffmpeg -buildconf && \
101+
102+
# nginx-rtmp
103+
DIR=$(mktemp -d) && cd ${DIR} && \
104+
curl -LOks "https://github.com/nginx/nginx/archive/release-${NGINX_VERSION}.tar.gz" && \
105+
tar xzvf "release-${NGINX_VERSION}.tar.gz" && \
106+
curl -LOks "https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/archive/v${NGINX_RTMP_VERSION}.tar.gz" && \
107+
tar xzvf "v${NGINX_RTMP_VERSION}.tar.gz" && \
108+
curl -LOks https://github.com/vozlt/nginx-module-vts/archive/master.zip && \
109+
unzip master.zip && \
110+
rm master.zip && \
111+
curl -LOks https://github.com/nginx/njs/archive/master.zip && \
112+
unzip master.zip && \
113+
rm master.zip && \
114+
cd nginx-release-${NGINX_VERSION} && \
115+
auto/configure \
116+
--with-file-aio \
117+
--with-http_ssl_module \
118+
--add-module="../nginx-module-vts-master" \
119+
--add-module="../njs-master/nginx" \
120+
--add-module="../nginx-rtmp-module-${NGINX_RTMP_VERSION}" && \
121+
make -j"$(nproc)" && \
122+
make install && \
123+
rm -rf ${DIR} && \
124+
125+
apt-get purge -y --auto-remove ${BUILDDEPS} && \
126+
apt-get clean -y && \
127+
rm -rf /var/lib/apt/lists/* && \
128+
rm -rf /var/tmp/* && \
129+
rm -rf /tmp/*
130+
131+
ADD templates /templates
132+
ADD favicon.ico /usr/local/nginx/html/favicon.ico
133+
ADD run.sh /run.sh
134+
RUN mkdir /usr/local/nginx/conf/vhost && \
135+
mkdir /usr/local/nginx/conf/vhost/www && \
136+
mkdir /usr/local/nginx/conf/vhost/rtmp && \
137+
mkdir /usr/local/nginx/html/images && \
138+
chmod 777 /usr/local/nginx/html/images && \
139+
chmod +x /run.sh && \
140+
141+
# clappr-player
142+
DIR=$(mktemp -d) && cd ${DIR} && \
143+
curl -LOks "https://github.com/clappr/clappr/archive/master.tar.gz" && \
144+
tar xzvf "master.tar.gz" && \
145+
rm master.tar.gz && \
146+
curl -LOks "https://github.com/clappr/clappr-level-selector-plugin/archive/master.tar.gz" && \
147+
tar xzvf "master.tar.gz" && \
148+
rm master.tar.gz && \
149+
mv * /usr/local/nginx/html && \
150+
rm -rf ${DIR}
151+
152+
ENV WORKER_PROCESSES=1 \
153+
WORKER_CONNECTIONS=1024 \
154+
155+
RTMP_ACCESS_LOG=off \
156+
157+
RTMP_SERVER_PORT=1935 \
158+
RTMP_SERVER_TIMEOUT=60s \
159+
RTMP_SERVER_PING=3m \
160+
RTMP_SERVER_PING_TIMEOUT=30s \
161+
RTMP_SERVER_MAX_STREAMS=32 \
162+
RTMP_SERVER_ACK_WINDOW=5000000 \
163+
RTMP_SERVER_CHUNK_SIZE=4096 \
164+
RTMP_SERVER_MAX_MESSAGE=1M \
165+
RTMP_SERVER_BUFLEN=5s \
166+
RTMP_SERVER_HLS_FRAGMENT=2s \
167+
RTMP_SERVER_HLS_PLAYLIST_LENGTH=60 \
168+
RTMP_SERVER_HLS_SYNC=1ms \
169+
RTMP_SERVER_HLS_CONTINOUS=off \
170+
RTMP_SERVER_HLS_NESTED=off \
171+
RTMP_SERVER_HLS_CLEANUP=on \
172+
RTMP_SERVER_HLS_FRAGMENT_NAMING=sequential \
173+
RTMP_SERVER_HLS_FRAGMENT_NAMING_GRANULARITY=0 \
174+
RTMP_SERVER_HLS_FRAGMENT_SLICING=plain \
175+
RTMP_SERVER_HLS_TYPE=live \
176+
RTMP_SERVER_HLS_KEY=off \
177+
RTMP_SERVER_HLS_FRAGMENTS_PER_KEY=0 \
178+
RTMP_SERVER_HLS_MAX_CONNECTIONS=1000 \
179+
RTMP_SERVER_HLS_SNAPSHOT_INTERVAL=60 \
180+
RTMP_SERVER_HLS_TRANSCODING=false \
181+
RTMP_SERVER_HLS_TRANSCODING_PROFILES=240p,360p,480p,720p \
182+
RTMP_SERVER_HLS_PUBLISH_TOKEN=datarhei \
183+
184+
HTTP_SENDFILE=off \
185+
HTTP_TCP_NOPUSH=on \
186+
HTTP_AIO=on \
187+
HTTP_DIRECTIO=512 \
188+
HTTP_ACCESS_LOG=off \
189+
190+
HTTP_SERVER_PORT=80 \
191+
HTTP_SERVER_HLS_ACCESS_CONTROL_ALLOW_ORIGIN=* \
192+
HTTP_SERVER_HLS_STATUS_USERNAME=admin \
193+
HTTP_SERVER_HLS_STATUS_PASSWORD=datarhei
194+
195+
CMD ["/run.sh"]

0 commit comments

Comments
 (0)