11FROM debian:jessie
22
33MAINTAINER datarhei <info@datarhei.org>
4-
5- ENV RESTREAMER_EDGE_VERSION=0.1.0-rc.3 \
6- FFMPEG_VERSION=2.8.6 \
4+ ENV RESTREAMER_EDGE_VERSION=0.1.0-rc.4 \
5+ FFMPEG_VERSION=3.1.2 \
76 YASM_VERSION=1.3.0 \
87 LAME_VERSION=3_99_5 \
9- NGINX_VERSION=1.9.9 \
10- NGINX_RTMP_VERSION=1.1.7.10 \
8+ NGINX_VERSION=1.10.2 \
9+ NGINX_RTMP_VERSION=master \
10+ NGINX_NJS=master \
11+ NGINX_DEVEL_KIT_VERSION=0.3.0 \
12+ NGINX_STUB_STATUS_PROM=master \
13+ LUA_NGINX_MODULE_VERSION=0.10.7 \
14+ LUAJIT_VERSION=2.0.4 \
15+ LUAJIT_MAJOR_VERSION=2.0 \
16+ LUAJIT_LIB=/usr/local/lib \
17+ LUAJIT_INC=/usr/local/include/luajit-2.0 \
1118
1219 SRC="/usr/local" \
1320 LD_LIBRARY_PATH="${SRC}/lib" \
@@ -16,8 +23,10 @@ ENV RESTREAMER_EDGE_VERSION=0.1.0-rc.3 \
1623 BUILDDEPS="autoconf automake gcc g++ libtool make nasm unzip zlib1g-dev libssl-dev xz-utils cmake build-essential libpcre3-dev"
1724
1825RUN rm -rf /var/lib/apt/lists/* && \
19- apt-get update --fix-missing && \
20- apt-get install -y --force-yes curl git libpcre3 tar perl ca-certificates apache2-utils libaio1 libxml2 libxslt-dev ${BUILDDEPS} && \
26+ apt-get update && \
27+ apt-get install -y --force-yes --fix-missing apt-utils && \
28+ apt-get upgrade -y && \
29+ apt-get install -y --force-yes --fix-missing curl git libpcre3 tar perl ca-certificates apache2-utils libaio1 libxml2 libxslt-dev ${BUILDDEPS} && \
2130
2231 # yasm
2332 DIR="$(mktemp -d)" && cd "${DIR}" && \
@@ -62,12 +71,10 @@ RUN rm -rf /var/lib/apt/lists/* && \
6271 rm -rf "${DIR}" && \
6372
6473 # ffmpeg
65- # patch: andrew-shulgin Ignore invalid sprop-parameter-sets missing PPS
6674 DIR="$(mktemp -d)" && cd "${DIR}" && \
6775 curl -LOks "https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz" && \
6876 tar xzvf "ffmpeg-${FFMPEG_VERSION}.tar.gz" && \
6977 cd "ffmpeg-${FFMPEG_VERSION}" && \
70- curl -Lks "https://github.com/FFmpeg/FFmpeg/commit/1c7e2cf9d33968375ee4025d2279c937e147dae2.patch" | patch -p1 && \
7178 ./configure \
7279 --prefix="${SRC}" \
7380 --bindir="${SRC}/bin" \
@@ -97,25 +104,42 @@ RUN rm -rf /var/lib/apt/lists/* && \
97104 echo "${SRC}/lib" > "/etc/ld.so.conf.d/libc.conf" && \
98105 ffmpeg -buildconf && \
99106
100- # nginx-rtmp
107+ # LuaJIT
101108 DIR=$(mktemp -d) && cd ${DIR} && \
109+ curl -LOks "http://luajit.org/download/LuaJIT-${LUAJIT_VERSION}.zip" && \
110+ unzip LuaJIT-${LUAJIT_VERSION} && \
111+ cd LuaJIT-${LUAJIT_VERSION} && \
112+ make install && \
113+ ln -sf luajit-${LUAJIT_VERSION} /usr/local/bin/luajit && \
114+ rm -rf ${DIR}
115+
116+ # nginx-rtmp
117+ RUN DIR=$(mktemp -d) && cd ${DIR} && \
102118 curl -LOks "https://github.com/nginx/nginx/archive/release-${NGINX_VERSION}.tar.gz" && \
103119 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 && \
120+ curl -LOks "https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/archive/${NGINX_RTMP_VERSION}.tar.gz" && \
121+ tar xzvf "${NGINX_RTMP_VERSION}.tar.gz" && \
122+ curl -LOks https://github.com/nginx/njs/archive/${NGINX_NJS}.zip && \
123+ unzip ${NGINX_NJS}.zip && \
124+ curl -LOks "https://github.com/simpl/ngx_devel_kit/archive/v${NGINX_DEVEL_KIT_VERSION}.zip" -O && \
125+ unzip v${NGINX_DEVEL_KIT_VERSION}.zip && \
126+ curl -LOks "https://github.com/openresty/lua-nginx-module/archive/v${LUA_NGINX_MODULE_VERSION}.zip" && \
127+ unzip v${LUA_NGINX_MODULE_VERSION}.zip && \
128+ curl -LOks "https://github.com/mhowlett/ngx_stub_status_prometheus/archive/${NGINX_STUB_STATUS_PROM}.zip" && \
129+ unzip ${NGINX_STUB_STATUS_PROM}.zip && \
112130 cd nginx-release-${NGINX_VERSION} && \
113131 auto/configure \
114132 --with-http_ssl_module \
115133 --with-http_xslt_module \
116- --add-module="../nginx-module-vts-master" \
117- --add-module="../njs-master/nginx" \
118- --add-module="../nginx-rtmp-module-${NGINX_RTMP_VERSION}" && \
134+ --with-ld-opt="-Wl,-rpath,/usr/local/lib/lua" \
135+ --with-http_ssl_module \
136+ --with-http_realip_module \
137+ --with-http_stub_status_module \
138+ --add-dynamic-module="../njs-${NGINX_NJS}/nginx" \
139+ --add-dynamic-module="../nginx-rtmp-module-${NGINX_RTMP_VERSION}" \
140+ --add-module="../ngx_devel_kit-${NGINX_DEVEL_KIT_VERSION}" \
141+ --add-module="../lua-nginx-module-${LUA_NGINX_MODULE_VERSION}" \
142+ --add-dynamic-module="../ngx_stub_status_prometheus-${NGINX_STUB_STATUS_PROM}" && \
119143 make -j"$(nproc)" && \
120144 make install && \
121145 cp ../nginx-rtmp-module-${NGINX_RTMP_VERSION}/stat.xsl /usr/local/nginx/html/info.xsl && \
@@ -127,8 +151,9 @@ RUN rm -rf /var/lib/apt/lists/* && \
127151
128152 # letsencrypt
129153 cd /opt && \
130- git clone https://github.com/letsencrypt/letsencrypt letsencrypt && \
131- letsencrypt/letsencrypt-auto --os-packages-only && \
154+ curl -LOks https://dl.eff.org/certbot-auto && \
155+ chmod a+x ./certbot-auto && \
156+ ./certbot-auto --os-packages-only --noninteractive && \
132157
133158 # clappr-player
134159 DIR=$(mktemp -d) && cd ${DIR} && \
@@ -141,6 +166,10 @@ RUN rm -rf /var/lib/apt/lists/* && \
141166 mv * /usr/local/nginx/html && \
142167 rm -rf ${DIR} && \
143168
169+ # prometheus exporter
170+ cd /usr/local/nginx/ && \
171+ curl -LOks "https://raw.githubusercontent.com/knyar/nginx-lua-prometheus/master/prometheus.lua" && \
172+
144173 apt-get purge -y --auto-remove ${BUILDDEPS} && \
145174 apt-get clean -y && \
146175 rm -rf /var/lib/apt/lists/* \
@@ -215,8 +244,21 @@ ENV WORKER_PROCESSES=1 \
215244
216245 HTTPS_SRV=false \
217246 HTTPS_SRV_PORT=443 \
218- HTTPS_CERT_CREATE=true \
219- HTTPS_CERT_MAIL=admin@example.org \
220- HTTPS_CERT_DOMAIN=example.org
247+ HTTPS_SRV_CERT_DOMAIN=example.org \
248+
249+ HTTPS_LETSENCRYPT=false \
250+ HTTPS_LETSENCRYPT_MAIL=admin@example.org \
251+
252+ PLAYER_CREATE=true \
253+
254+ PLAYER_WATERMARK_SOURCE=none \
255+ PLAYER_WATERMARK_POSITION=top-right \
256+ PLAYER_WATERMARK_LINK=none \
257+
258+ PLAYER_COLOR_BUTTONS=3daa48 \
259+ PLAYER_COLOR_SEEKBAR=3daa48 \
260+
261+ PLAYER_GA_ACCOUNT=none \
262+ PLAYER_GA_TRACKERNAME=datarheiEdge
221263
222264CMD ["/run.sh" ]
0 commit comments