This repository has been archived by the owner on Dec 10, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Drop the bloated build, keep standard only
- Loading branch information
Showing
5 changed files
with
128 additions
and
196 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,67 +1,136 @@ | ||
FROM alpine:latest | ||
FROM alpine:3.5 | ||
|
||
MAINTAINER Jérôme Foray <[email protected]> | ||
MAINTAINER Jérôme Foray "[email protected]" | ||
|
||
ENV NGINX_VERSION nginx-1.11.10 | ||
ENV NGINX_VERSION 1.11.10 | ||
ENV NCHAN_VERSION 1.1.2 | ||
ENV HEADERS_MORE_VERSION 0.32 | ||
ENV LUA_VERSION 0.10.7 | ||
ENV NDK_VERSION 0.3.0 | ||
|
||
RUN apk --update add ca-certificates libatomic_ops-dev openssl-dev pcre-dev zlib-dev luajit-dev wget build-base && \ | ||
update-ca-certificates && \ | ||
mkdir -p /tmp/src /var/lib/nginx /var/log/nginx && \ | ||
cd /tmp/src && \ | ||
wget https://github.com/slact/nchan/archive/v${NCHAN_VERSION}.tar.gz && \ | ||
tar -zxvf v${NCHAN_VERSION}.tar.gz && \ | ||
wget https://github.com/simpl/ngx_devel_kit/archive/v${NDK_VERSION}.tar.gz && \ | ||
tar -zxvf v${NDK_VERSION}.tar.gz && \ | ||
wget https://github.com/openresty/headers-more-nginx-module/archive/v${HEADERS_MORE_VERSION}.tar.gz && \ | ||
tar -zxvf v${HEADERS_MORE_VERSION}.tar.gz && \ | ||
wget https://github.com/openresty/lua-nginx-module/archive/v${LUA_VERSION}.tar.gz && \ | ||
tar -zxvf v${LUA_VERSION}.tar.gz && \ | ||
wget http://nginx.org/download/${NGINX_VERSION}.tar.gz && \ | ||
tar -zxvf ${NGINX_VERSION}.tar.gz && \ | ||
cd /tmp/src/${NGINX_VERSION} && \ | ||
./configure \ | ||
--prefix=/etc/nginx \ | ||
--sbin-path=/usr/local/sbin/nginx \ | ||
--pid-path=/run/nginx.pid \ | ||
--lock-path=/run/nginx.lock \ | ||
--with-ipv6 \ | ||
--with-libatomic \ | ||
--with-pcre \ | ||
--with-pcre-jit \ | ||
--http-client-body-temp-path=/var/lib/nginx/client_body_temp \ | ||
--http-proxy-temp-path=/var/lib/nginx/proxy_temp \ | ||
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi_temp \ | ||
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi_temp \ | ||
--http-scgi-temp-path=/var/lib/nginx/scgi_temp \ | ||
--http-log-path=/var/log/nginx/access.log \ | ||
--error-log-path=/var/log/nginx/error.log \ | ||
--with-select_module \ | ||
--with-poll_module \ | ||
--with-http_v2_module \ | ||
--with-http_ssl_module \ | ||
--with-http_stub_status_module \ | ||
--with-http_gzip_static_module \ | ||
--with-http_realip_module \ | ||
--with-http_sub_module \ | ||
--with-http_secure_link_module \ | ||
--with-http_auth_request_module \ | ||
--add-module=/tmp/src/nchan-${NCHAN_VERSION} \ | ||
--add-module=/tmp/src/ngx_devel_kit-${NDK_VERSION} \ | ||
--add-module=/tmp/src/lua-nginx-module-${LUA_VERSION} \ | ||
--add-module=/tmp/src/headers-more-nginx-module-${HEADERS_MORE_VERSION} && \ | ||
make && \ | ||
make install && \ | ||
apk del build-base && \ | ||
rm -rf /tmp/src && \ | ||
rm -rf /var/cache/apk/* | ||
RUN GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \ | ||
&& CONFIG="\ | ||
--prefix=/etc/nginx \ | ||
--sbin-path=/usr/sbin/nginx \ | ||
--modules-path=/usr/lib/nginx/modules \ | ||
--conf-path=/etc/nginx/nginx.conf \ | ||
--error-log-path=/var/log/nginx/error.log \ | ||
--http-log-path=/var/log/nginx/access.log \ | ||
--pid-path=/var/run/nginx.pid \ | ||
--lock-path=/var/run/nginx.lock \ | ||
--http-client-body-temp-path=/var/cache/nginx/client_temp \ | ||
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \ | ||
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \ | ||
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \ | ||
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \ | ||
--user=nginx \ | ||
--group=nginx \ | ||
--with-http_ssl_module \ | ||
--with-http_realip_module \ | ||
--with-http_addition_module \ | ||
--with-http_sub_module \ | ||
--with-http_dav_module \ | ||
--with-http_flv_module \ | ||
--with-http_mp4_module \ | ||
--with-http_gunzip_module \ | ||
--with-http_gzip_static_module \ | ||
--with-http_random_index_module \ | ||
--with-http_secure_link_module \ | ||
--with-http_stub_status_module \ | ||
--with-http_auth_request_module \ | ||
--with-http_xslt_module=dynamic \ | ||
--with-http_image_filter_module=dynamic \ | ||
--with-http_geoip_module=dynamic \ | ||
--with-http_perl_module=dynamic \ | ||
--with-threads \ | ||
--with-stream \ | ||
--with-stream_ssl_module \ | ||
--with-http_slice_module \ | ||
--with-mail \ | ||
--with-mail_ssl_module \ | ||
--with-file-aio \ | ||
--with-http_v2_module \ | ||
--with-ipv6 \ | ||
--add-dynamic-module=/usr/src/nchan-${NCHAN_VERSION} \ | ||
" \ | ||
&& addgroup -S nginx \ | ||
&& adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \ | ||
&& apk add --no-cache --virtual .build-deps \ | ||
gcc \ | ||
libc-dev \ | ||
make \ | ||
openssl-dev \ | ||
pcre-dev \ | ||
zlib-dev \ | ||
linux-headers \ | ||
curl \ | ||
gnupg \ | ||
libxslt-dev \ | ||
gd-dev \ | ||
geoip-dev \ | ||
perl-dev \ | ||
&& curl -fSL http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \ | ||
&& curl -fSL http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \ | ||
&& curl -fSL https://github.com/slact/nchan/archive/v${NCHAN_VERSION}.tar.gz -o nchan.tar.gz \ | ||
&& export GNUPGHOME="$(mktemp -d)" \ | ||
&& gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEYS" \ | ||
&& gpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \ | ||
&& rm -r "$GNUPGHOME" nginx.tar.gz.asc \ | ||
&& mkdir -p /usr/src \ | ||
&& tar -zxC /usr/src -f nginx.tar.gz \ | ||
&& tar -zxC /usr/src -f nchan.tar.gz \ | ||
&& rm nginx.tar.gz \ | ||
&& rm nchan.tar.gz \ | ||
&& cd /usr/src/nginx-$NGINX_VERSION \ | ||
&& ./configure $CONFIG --with-debug \ | ||
&& make \ | ||
&& mv objs/nginx objs/nginx-debug \ | ||
&& mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \ | ||
&& mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \ | ||
&& mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \ | ||
&& mv objs/ngx_http_perl_module.so objs/ngx_http_perl_module-debug.so \ | ||
&& mv objs/ngx_nchan_module.so objs/ngx_nchan_module-debug.so \ | ||
&& ./configure $CONFIG \ | ||
&& make \ | ||
&& make install \ | ||
&& rm -rf /etc/nginx/html/ \ | ||
&& mkdir /etc/nginx/conf.d/ \ | ||
&& mkdir -p /usr/share/nginx/html/ \ | ||
&& install -m644 html/index.html /usr/share/nginx/html/ \ | ||
&& install -m644 html/50x.html /usr/share/nginx/html/ \ | ||
&& install -m755 objs/nginx-debug /usr/sbin/nginx-debug \ | ||
&& install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \ | ||
&& install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \ | ||
&& install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \ | ||
&& install -m755 objs/ngx_http_perl_module-debug.so /usr/lib/nginx/modules/ngx_http_perl_module-debug.so \ | ||
&& install -m755 objs/ngx_nchan_module-debug.so /usr/lib/nginx/modules/ngx_nchan_module-debug.so \ | ||
&& ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \ | ||
&& strip /usr/sbin/nginx* \ | ||
&& strip /usr/lib/nginx/modules/*.so \ | ||
&& rm -rf /usr/src/nginx-$NGINX_VERSION \ | ||
\ | ||
# Bring in gettext so we can get `envsubst`, then throw | ||
# the rest away. To do this, we need to install `gettext` | ||
# then move `envsubst` out of the way so `gettext` can | ||
# be deleted completely, then move `envsubst` back. | ||
&& apk add --no-cache --virtual .gettext gettext \ | ||
&& mv /usr/bin/envsubst /tmp/ \ | ||
\ | ||
&& runDeps="$( \ | ||
scanelf --needed --nobanner /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \ | ||
| awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ | ||
| sort -u \ | ||
| xargs -r apk info --installed \ | ||
| sort -u \ | ||
)" \ | ||
&& apk add --no-cache --virtual .nginx-rundeps $runDeps \ | ||
&& apk del .build-deps \ | ||
&& apk del .gettext \ | ||
&& mv /tmp/envsubst /usr/bin/ \ | ||
\ | ||
# forward request and error logs to docker log collector | ||
&& ln -sf /dev/stdout /var/log/nginx/access.log \ | ||
&& ln -sf /dev/stderr /var/log/nginx/error.log | ||
|
||
# forward request and error logs to docker log collector | ||
RUN ln -sf /dev/stdout /var/log/nginx/access.log | ||
RUN ln -sf /dev/stderr /var/log/nginx/error.log | ||
COPY nginx.conf /etc/nginx/nginx.conf | ||
COPY nginx.vh.default.conf /etc/nginx/conf.d/default.conf | ||
|
||
EXPOSE 80 443 | ||
|
||
|
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file was deleted.
Oops, something went wrong.