The ngnix that support Brolti compression
165
FROM nginx:alpine AS ngx_brotli_build
ENV NGX_MODULE_COMMIT 9aec15e2aa6feea2113119ba06460af70ab3ea62 ENV NGX_MODULE_PATH ngx_brotli
RUN wget "http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz" -O nginx.tar.gz &&
wget "https://github.com/google/ngx_brotli/archive/${NGX_MODULE_COMMIT}.tar.gz" -O ${NGX_MODULE_PATH}.tar.gz
RUN apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre-dev zlib-dev linux-headers libxslt-dev gd-dev geoip-dev perl-dev libedit-dev mercurial bash alpine-sdk findutils brotli-dev
RUN CONFARGS=$(nginx -V 2>&1 | sed -n -e 's/^.*arguments: //p')
tar -zxf nginx.tar.gz &&
tar -xzf "${NGX_MODULE_PATH}.tar.gz" &&
cd nginx-$NGINX_VERSION &&
./configure --with-compat $CONFARGS --add-dynamic-module="$(pwd)/../${NGX_MODULE_PATH}-${NGX_MODULE_COMMIT}" &&
make && make install
RUN mkdir /so-deps && cp -L $(ldd /usr/local/nginx/modules/ngx_http_brotli_filter_module.so 2>/dev/null | grep '/usr/lib/' | awk '{ print $3 }' | tr '\n' ' ') /so-deps
RUN echo "load_module /usr/local/nginx/modules/ngx_http_brotli_filter_module.so;" | cat - /etc/nginx/nginx.conf > /tmp/out && mv /tmp/out /etc/nginx/nginx.conf RUN echo "load_module /usr/local/nginx/modules/ngx_http_brotli_static_module.so;" | cat - /etc/nginx/nginx.conf > /tmp/out && mv /tmp/out /etc/nginx/nginx.conf
FROM nginx:alpine
COPY --from=ngx_brotli_build /so-deps /usr/lib COPY --from=ngx_brotli_build /etc/nginx/nginx.conf /etc/nginx/nginx.conf COPY --from=ngx_brotli_build /usr/local/nginx/modules/ngx_http_brotli_filter_module.so /usr/local/nginx/modules/ngx_http_brotli_filter_module.so COPY --from=ngx_brotli_build /usr/local/nginx/modules/ngx_http_brotli_static_module.so /usr/local/nginx/modules/ngx_http_brotli_static_module.so
Content type
Image
Digest
sha256:8b708ccba…
Size
17.5 MB
Last updated
over 2 years ago
docker pull programmingboy/ngnix-brotli