-
Notifications
You must be signed in to change notification settings - Fork 56
/
Copy pathDockerfile
66 lines (60 loc) · 2.19 KB
/
Dockerfile
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
FROM codeworksio/nginx:1.15.8-20190219
ARG APT_PROXY
ARG APT_PROXY_SSL
ENV NGINX_RTMP_MODULE_VERSION="1.2.1"
RUN set -ex; \
\
buildDependencies="\
build-essential \
libpcre3-dev \
libssl-dev \
zlib1g-dev \
"; \
if [ -n "$APT_PROXY" ]; then echo "Acquire::http { Proxy \"http://${APT_PROXY}\"; };" > /etc/apt/apt.conf.d/00proxy; fi; \
if [ -n "$APT_PROXY_SSL" ]; then echo "Acquire::https { Proxy \"https://${APT_PROXY_SSL}\"; };" > /etc/apt/apt.conf.d/00proxy; fi; \
apt-get --yes update; \
apt-get --yes install \
$buildDependencies \
ffmpeg \
; \
cd /tmp; \
curl -L "https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz" -o nginx-$NGINX_VERSION.tar.gz; \
tar -xf nginx-$NGINX_VERSION.tar.gz; \
curl -L "https://github.com/arut/nginx-rtmp-module/archive/v${NGINX_RTMP_MODULE_VERSION}.tar.gz" -o nginx-rtmp-module-$NGINX_RTMP_MODULE_VERSION.tar.gz; \
tar -xf nginx-rtmp-module-$NGINX_RTMP_MODULE_VERSION.tar.gz; \
\
cd /tmp/nginx-$NGINX_VERSION; \
./configure \
$(nginx -V 2>&1 | grep 'configure arguments:' | sed 's/configure arguments://g') \
--add-dynamic-module=/tmp/nginx-rtmp-module-$NGINX_RTMP_MODULE_VERSION; \
make modules; \
mkdir -p /usr/local/nginx/modules; \
cp -v objs/ngx_rtmp_module.so /usr/local/nginx/modules; \
\
mkdir -p \
/var/lib/streaming/hls \
/var/lib/streaming/dash; \
chown -R $SYSTEM_USER:$SYSTEM_USER \
/usr/local/nginx/modules \
/var/lib/streaming; \
\
apt-get purge --yes --auto-remove $buildDependencies; \
rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/*; \
rm -f /etc/apt/apt.conf.d/00proxy
COPY assets/ /
VOLUME [ "/var/lib/streaming" ]
EXPOSE 1935 8080 8443
CMD [ "nginx", "-g", "daemon off;" ]
### METADATA ###################################################################
ARG IMAGE
ARG BUILD_DATE
ARG VERSION
ARG VCS_REF
ARG VCS_URL
LABEL \
org.label-schema.name=$IMAGE \
org.label-schema.build-date=$BUILD_DATE \
org.label-schema.version=$VERSION \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url=$VCS_URL \
org.label-schema.schema-version="1.0"