Initial commit.
commit
3fb1c97b32
|
@ -0,0 +1,90 @@
|
|||
FROM nginx:1.10.3
|
||||
|
||||
MAINTAINER Carl Kittelberger "icedream@icedream.pw"
|
||||
|
||||
# TODO - verify against Nginx GPG key ID: 7BD9BF62 (simply add the key to the keyring, the verification seems to be done by apt-get source)
|
||||
|
||||
ARG MODSECURITY_GIT_URL="https://github.com/SpiderLabs/ModSecurity.git"
|
||||
ARG MODSECURITY_VERSION="v3/master"
|
||||
ARG MODSECURITY_SOURCE_DIR="/usr/src/modsecurity-${MODSECURITY_VERSION}"
|
||||
ARG MODSECURITY_NGINX_VERSION=master
|
||||
ARG MODSECURITY_NGINX_GIT_URL=https://github.com/SpiderLabs/ModSecurity-nginx.git
|
||||
ARG MODSECURITY_NGINX_SOURCE_DIR="/usr/src/modsecurity-nginx-${MODSECURITY_NGINX_VERSION}"
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -yq --no-install-recommends \
|
||||
debian-keyring \
|
||||
dpkg-dev \
|
||||
lsb-release \
|
||||
&& apt-mark auto debian-keyring dpkg-dev \
|
||||
&& echo "deb-src http://nginx.org/packages/debian/ $(lsb_release -cs) nginx" \
|
||||
| tee -a /etc/apt/sources.list >/dev/null \
|
||||
&& apt-get update \
|
||||
&& (cd /usr/src \
|
||||
&& apt-get source nginx=${NGINX_VERSION} \
|
||||
) \
|
||||
&& apt-get build-dep -y nginx=${NGINX_VERSION} \
|
||||
&& apt-mark auto $(\
|
||||
apt-cache showsrc nginx |\
|
||||
sed -e '/Build-Depends/!d;s/Build-Depends: \|,\|([^)]*),*\|\[[^]]*\]//g' \
|
||||
) \
|
||||
&& apt-get install --no-install-recommends -y coreutils git \
|
||||
&& apt-mark auto git \
|
||||
&& apt-get install -y \
|
||||
autoconf \
|
||||
automake \
|
||||
autotools-dev \
|
||||
bison \
|
||||
curl \
|
||||
dh-autoreconf \
|
||||
doxygen \
|
||||
flex \
|
||||
g++ \
|
||||
libcurl3-gnutls \
|
||||
libcurl4-gnutls-dev \
|
||||
libgeoip1 \
|
||||
libgeoip-dev \
|
||||
libpcre++0 \
|
||||
libpcre++-dev \
|
||||
libtool \
|
||||
libxml2 \
|
||||
libxml2-dev \
|
||||
libyajl2 \
|
||||
libyajl-dev \
|
||||
&& apt-mark auto \
|
||||
autoconf \
|
||||
automake \
|
||||
autotools-dev \
|
||||
bison \
|
||||
dh-autoreconf \
|
||||
doxygen \
|
||||
flex \
|
||||
g++ \
|
||||
libcurl4-gnutls-dev \
|
||||
libgeoip-dev \
|
||||
libpcre++-dev \
|
||||
libtool \
|
||||
libxml2-dev \
|
||||
libyajl-dev \
|
||||
&& git clone "${MODSECURITY_GIT_URL}" "${MODSECURITY_SOURCE_DIR}" \
|
||||
&& (cd "${MODSECURITY_SOURCE_DIR}" \
|
||||
&& git checkout "${MODSECURITY_VERSION}" \
|
||||
&& sh ./build.sh \
|
||||
&& git submodule update --init \
|
||||
&& ./configure \
|
||||
&& make -j$(nproc) \
|
||||
&& make install \
|
||||
) \
|
||||
&& git clone "${MODSECURITY_NGINX_GIT_URL}" "${MODSECURITY_NGINX_SOURCE_DIR}" \
|
||||
&& (cd "${MODSECURITY_NGINX_SOURCE_DIR}" \
|
||||
&& git checkout "${MODSECURITY_NGINX_VERSION}" \
|
||||
) \
|
||||
&& (cd /usr/src/nginx-*/ \
|
||||
&& mkdir -p debian/modules \
|
||||
&& ln -s "${MODSECURITY_NGINX_SOURCE_DIR}" debian/modules/modsecurity \
|
||||
&& sed -i 's,\\./configure,\\./configure --add-module=$(MODULESDIR)/modsecurity,' debian/rules \
|
||||
&& DEB_BUILD_OPTIONS=nodoc dpkg-buildpackage -b -uc -us -tc -j$(nproc) \
|
||||
&& dpkg -i ../nginx_*.deb \
|
||||
) \
|
||||
&& apt-get autoremove --purge -y \
|
||||
&& rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /usr/src/modsecurity* /usr/src/nginx*
|
Loading…
Reference in New Issue