diff --git a/Dockerfile b/Dockerfile index 24cf449..464d974 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM alpine:3.4 LABEL author Alfred Gutierrez -ENV NGINX_VERSION 1.13.8 +ENV NGINX_VERSION 1.13.9 ENV NGINX_RTMP_VERSION 1.2.1 ENV FFMPEG_VERSION 3.4.2 @@ -10,37 +10,56 @@ EXPOSE 80 RUN mkdir -p /opt/data && mkdir /www +# Build dependencies. RUN apk update && apk add \ - gcc binutils-libs binutils build-base libgcc make pkgconf pkgconfig \ - openssl openssl-dev ca-certificates pcre \ - musl-dev libc-dev pcre-dev zlib-dev + binutils \ + binutils-libs \ + build-base \ + ca-certificates \ + gcc \ + libc-dev \ + libgcc \ + make \ + musl-dev \ + openssl \ + openssl-dev \ + pcre \ + pcre-dev \ + pkgconf \ + pkgconfig \ + zlib-dev # Get nginx source. -RUN cd /tmp && wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz \ - && tar zxf nginx-${NGINX_VERSION}.tar.gz \ - && rm nginx-${NGINX_VERSION}.tar.gz +RUN cd /tmp && \ + wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \ + tar zxf nginx-${NGINX_VERSION}.tar.gz && \ + rm nginx-${NGINX_VERSION}.tar.gz # Get nginx-rtmp module. -RUN cd /tmp && wget https://github.com/arut/nginx-rtmp-module/archive/v${NGINX_RTMP_VERSION}.tar.gz \ - && tar zxf v${NGINX_RTMP_VERSION}.tar.gz && rm v${NGINX_RTMP_VERSION}.tar.gz +RUN cd /tmp && \ + wget https://github.com/arut/nginx-rtmp-module/archive/v${NGINX_RTMP_VERSION}.tar.gz && \ + tar zxf v${NGINX_RTMP_VERSION}.tar.gz && rm v${NGINX_RTMP_VERSION}.tar.gz # Compile nginx with nginx-rtmp module. -RUN cd /tmp/nginx-${NGINX_VERSION} \ - && ./configure \ +RUN cd /tmp/nginx-${NGINX_VERSION} && \ + ./configure \ --prefix=/opt/nginx \ --add-module=/tmp/nginx-rtmp-module-${NGINX_RTMP_VERSION} \ - --conf-path=/opt/nginx/nginx.conf --error-log-path=/opt/nginx/logs/error.log --http-log-path=/opt/nginx/logs/access.log \ - --with-debug -RUN cd /tmp/nginx-${NGINX_VERSION} && make && make install + --conf-path=/opt/nginx/nginx.conf \ + --error-log-path=/opt/nginx/logs/error.log \ + --http-log-path=/opt/nginx/logs/access.log \ + --with-debug && \ + cd /tmp/nginx-${NGINX_VERSION} && make && make install -# ffmpeg dependencies. +# FFmpeg dependencies. RUN apk add --update nasm yasm-dev lame-dev libogg-dev x264-dev libvpx-dev libvorbis-dev x265-dev freetype-dev libass-dev libwebp-dev rtmpdump-dev libtheora-dev opus-dev RUN echo http://dl-cdn.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories RUN apk add --update fdk-aac-dev -# Get ffmpeg source. -RUN cd /tmp/ && wget http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz \ - && tar zxf ffmpeg-${FFMPEG_VERSION}.tar.gz && rm ffmpeg-${FFMPEG_VERSION}.tar.gz +# Get FFmpeg source. +RUN cd /tmp/ && \ + wget http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz && \ + tar zxf ffmpeg-${FFMPEG_VERSION}.tar.gz && rm ffmpeg-${FFMPEG_VERSION}.tar.gz # Compile ffmpeg. RUN cd /tmp/ffmpeg-${FFMPEG_VERSION} && \ @@ -64,12 +83,13 @@ RUN cd /tmp/ffmpeg-${FFMPEG_VERSION} && \ --enable-avresample \ --enable-libfreetype \ --enable-openssl \ - --disable-debug \ - && make && make install && make distclean + --disable-debug && \ + make && make install && make distclean # Cleanup. RUN rm -rf /var/cache/* /tmp/* +# Add NGINX config and static files. ADD nginx.conf /opt/nginx/nginx.conf ADD static /www/static diff --git a/README.md b/README.md index a2f4b3e..8e9e9db 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ A Dockerfile installing NGINX, nginx-rtmp-module and FFmpeg from source with default settings for HLS live streaming. Built on Alpine Linux. -* Nginx 1.13.8 (compiled from source) +* Nginx 1.13.9 (compiled from source) * nginx-rtmp-module 1.2.1 (compiled from source) * ffmpeg 3.4.2 (compiled from source) * Default HLS settings (See: [nginx.conf](nginx.conf))