From 9ab91e4fd9845611d1e98699a5fd0dbd81c80f5c Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Thu, 13 May 2021 10:13:59 +0000 Subject: [PATCH] archive --- .gitignore | 2 +- archive/Dockerfile | 165 +++++++++++++++++++++++++++++++++++ archive/Dockerfile.base | 11 +++ archive/Dockerfile.fat.andis | 59 +++++++++++++ archive/Dockerfile.lua | 6 ++ archive/build | 10 +++ archive/build2 | 9 ++ 7 files changed, 261 insertions(+), 1 deletion(-) create mode 100644 archive/Dockerfile create mode 100644 archive/Dockerfile.base create mode 100644 archive/Dockerfile.fat.andis create mode 100644 archive/Dockerfile.lua create mode 100755 archive/build create mode 100755 archive/build2 diff --git a/.gitignore b/.gitignore index a4572f3..4024290 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -archive/* +tmp/* *.tar.gz \ No newline at end of file diff --git a/archive/Dockerfile b/archive/Dockerfile new file mode 100644 index 0000000..b678090 --- /dev/null +++ b/archive/Dockerfile @@ -0,0 +1,165 @@ +# Dockerfile - alpine +# https://github.com/openresty/docker-openresty + +ARG RESTY_IMAGE_BASE="alpine" +ARG RESTY_IMAGE_TAG="3.13" + +FROM ${RESTY_IMAGE_BASE}:${RESTY_IMAGE_TAG} + +LABEL maintainer="Evan Wies " + +# Docker Build Arguments +ARG RESTY_IMAGE_BASE="alpine" +ARG RESTY_IMAGE_TAG="3.13" +ARG RESTY_VERSION="1.19.3.1" +ARG RESTY_OPENSSL_VERSION="1.1.1k" +ARG RESTY_OPENSSL_PATCH_VERSION="1.1.1f" +ARG RESTY_OPENSSL_URL_BASE="https://www.openssl.org/source" +ARG RESTY_PCRE_VERSION="8.44" +ARG RESTY_J="1" +ARG RESTY_CONFIG_OPTIONS="\ + --with-compat \ + --with-file-aio \ + --with-http_addition_module \ + --with-http_auth_request_module \ + --with-http_dav_module \ + --with-http_flv_module \ + --with-http_geoip_module=dynamic \ + --with-http_gunzip_module \ + --with-http_gzip_static_module \ + --with-http_image_filter_module=dynamic \ + --with-http_mp4_module \ + --with-http_random_index_module \ + --with-http_realip_module \ + --with-http_secure_link_module \ + --with-http_slice_module \ + --with-http_ssl_module \ + --with-http_stub_status_module \ + --with-http_sub_module \ + --with-http_v2_module \ + --with-http_xslt_module=dynamic \ + --with-ipv6 \ + --with-mail \ + --with-mail_ssl_module \ + --with-md5-asm \ + --with-pcre-jit \ + --with-sha1-asm \ + --with-stream \ + --with-stream_ssl_module \ + --with-threads \ + " +ARG RESTY_CONFIG_OPTIONS_MORE="" +ARG RESTY_LUAJIT_OPTIONS="--with-luajit-xcflags='-DLUAJIT_NUMMODE=2 -DLUAJIT_ENABLE_LUA52COMPAT'" + +ARG RESTY_ADD_PACKAGE_BUILDDEPS="" +ARG RESTY_ADD_PACKAGE_RUNDEPS="" +ARG RESTY_EVAL_PRE_CONFIGURE="" +ARG RESTY_EVAL_POST_MAKE="" + +# These are not intended to be user-specified +ARG _RESTY_CONFIG_DEPS="--with-pcre \ + --with-cc-opt='-DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl/include' \ + --with-ld-opt='-L/usr/local/openresty/pcre/lib -L/usr/local/openresty/openssl/lib -Wl,-rpath,/usr/local/openresty/pcre/lib:/usr/local/openresty/openssl/lib' \ + " + +LABEL resty_image_base="${RESTY_IMAGE_BASE}" +LABEL resty_image_tag="${RESTY_IMAGE_TAG}" +LABEL resty_version="${RESTY_VERSION}" +LABEL resty_openssl_version="${RESTY_OPENSSL_VERSION}" +LABEL resty_openssl_patch_version="${RESTY_OPENSSL_PATCH_VERSION}" +LABEL resty_openssl_url_base="${RESTY_OPENSSL_URL_BASE}" +LABEL resty_pcre_version="${RESTY_PCRE_VERSION}" +LABEL resty_config_options="${RESTY_CONFIG_OPTIONS}" +LABEL resty_config_options_more="${RESTY_CONFIG_OPTIONS_MORE}" +LABEL resty_config_deps="${_RESTY_CONFIG_DEPS}" +LABEL resty_add_package_builddeps="${RESTY_ADD_PACKAGE_BUILDDEPS}" +LABEL resty_add_package_rundeps="${RESTY_ADD_PACKAGE_RUNDEPS}" +LABEL resty_eval_pre_configure="${RESTY_EVAL_PRE_CONFIGURE}" +LABEL resty_eval_post_make="${RESTY_EVAL_POST_MAKE}" + + +RUN apk add --no-cache --virtual .build-deps \ + build-base \ + coreutils \ + curl \ + gd-dev \ + geoip-dev \ + libxslt-dev \ + linux-headers \ + make \ + perl-dev \ + readline-dev \ + zlib-dev \ + ${RESTY_ADD_PACKAGE_BUILDDEPS} \ + && apk add --no-cache \ + gd \ + geoip \ + libgcc \ + libxslt \ + zlib \ + ${RESTY_ADD_PACKAGE_RUNDEPS} \ + && cd /tmp \ + && if [ -n "${RESTY_EVAL_PRE_CONFIGURE}" ]; then eval $(echo ${RESTY_EVAL_PRE_CONFIGURE}); fi \ + && cd /tmp \ + && curl -fSL "${RESTY_OPENSSL_URL_BASE}/openssl-${RESTY_OPENSSL_VERSION}.tar.gz" -o openssl-${RESTY_OPENSSL_VERSION}.tar.gz \ + && tar xzf openssl-${RESTY_OPENSSL_VERSION}.tar.gz \ + && cd openssl-${RESTY_OPENSSL_VERSION} \ + && if [ $(echo ${RESTY_OPENSSL_VERSION} | cut -c 1-5) = "1.1.1" ] ; then \ + echo 'patching OpenSSL 1.1.1 for OpenResty' \ + && curl -s https://raw.githubusercontent.com/openresty/openresty/master/patches/openssl-${RESTY_OPENSSL_PATCH_VERSION}-sess_set_get_cb_yield.patch | patch -p1 ; \ + fi \ + && if [ $(echo ${RESTY_OPENSSL_VERSION} | cut -c 1-5) = "1.1.0" ] ; then \ + echo 'patching OpenSSL 1.1.0 for OpenResty' \ + && curl -s https://raw.githubusercontent.com/openresty/openresty/ed328977028c3ec3033bc25873ee360056e247cd/patches/openssl-1.1.0j-parallel_build_fix.patch | patch -p1 \ + && curl -s https://raw.githubusercontent.com/openresty/openresty/master/patches/openssl-${RESTY_OPENSSL_PATCH_VERSION}-sess_set_get_cb_yield.patch | patch -p1 ; \ + fi \ + && ./config \ + no-threads shared zlib -g \ + enable-ssl3 enable-ssl3-method \ + --prefix=/usr/local/openresty/openssl \ + --libdir=lib \ + -Wl,-rpath,/usr/local/openresty/openssl/lib \ + && make -j${RESTY_J} \ + && make -j${RESTY_J} install_sw \ + && cd /tmp \ + && curl -fSL https://ftp.pcre.org/pub/pcre/pcre-${RESTY_PCRE_VERSION}.tar.gz -o pcre-${RESTY_PCRE_VERSION}.tar.gz \ + && tar xzf pcre-${RESTY_PCRE_VERSION}.tar.gz \ + && cd /tmp/pcre-${RESTY_PCRE_VERSION} \ + && ./configure \ + --prefix=/usr/local/openresty/pcre \ + --disable-cpp \ + --enable-jit \ + --enable-utf \ + --enable-unicode-properties \ + && make -j${RESTY_J} \ + && make -j${RESTY_J} install \ + && cd /tmp \ + && curl -fSL https://openresty.org/download/openresty-${RESTY_VERSION}.tar.gz -o openresty-${RESTY_VERSION}.tar.gz \ + && tar xzf openresty-${RESTY_VERSION}.tar.gz \ + && cd /tmp/openresty-${RESTY_VERSION} \ + && eval ./configure -j${RESTY_J} ${_RESTY_CONFIG_DEPS} ${RESTY_CONFIG_OPTIONS} ${RESTY_CONFIG_OPTIONS_MORE} ${RESTY_LUAJIT_OPTIONS} \ + && make -j${RESTY_J} \ + && make -j${RESTY_J} install \ + && cd /tmp \ + && if [ -n "${RESTY_EVAL_POST_MAKE}" ]; then eval $(echo ${RESTY_EVAL_POST_MAKE}); fi \ + && rm -rf \ + openssl-${RESTY_OPENSSL_VERSION}.tar.gz openssl-${RESTY_OPENSSL_VERSION} \ + pcre-${RESTY_PCRE_VERSION}.tar.gz pcre-${RESTY_PCRE_VERSION} \ + openresty-${RESTY_VERSION}.tar.gz openresty-${RESTY_VERSION} \ + && apk del .build-deps \ + && mkdir -p /var/run/openresty \ + && ln -sf /dev/stdout /usr/local/openresty/nginx/logs/access.log \ + && ln -sf /dev/stderr /usr/local/openresty/nginx/logs/error.log + +# Add additional binaries into PATH for convenience +ENV PATH=$PATH:/usr/local/openresty/luajit/bin:/usr/local/openresty/nginx/sbin:/usr/local/openresty/bin + +# Copy nginx configuration files +COPY nginx.conf /usr/local/openresty/nginx/conf/nginx.conf +COPY nginx.vh.default.conf /etc/nginx/conf.d/default.conf + +CMD ["/usr/local/openresty/bin/openresty", "-g", "daemon off;"] + +# Use SIGQUIT instead of default SIGTERM to cleanly drain requests +# See https://github.com/openresty/docker-openresty/blob/master/README.md#tips--pitfalls +STOPSIGNAL SIGQUIT diff --git a/archive/Dockerfile.base b/archive/Dockerfile.base new file mode 100644 index 0000000..7230344 --- /dev/null +++ b/archive/Dockerfile.base @@ -0,0 +1,11 @@ +ARG RESTY_IMAGE_BASE="alpine" +ARG RESTY_IMAGE_TAG="3.13" +FROM ${RESTY_IMAGE_BASE}:${RESTY_IMAGE_TAG} + +RUN cd /tmp && \ + wget https://github.com/kvspb/nginx-auth-ldap/archive/refs/heads/master.zip && \ + unzip -o master.zip && \ + rm master.zip && \ + apk add --no-cache --virtual openldap-dev libldap + +CMD bash \ No newline at end of file diff --git a/archive/Dockerfile.fat.andis b/archive/Dockerfile.fat.andis new file mode 100644 index 0000000..494ed37 --- /dev/null +++ b/archive/Dockerfile.fat.andis @@ -0,0 +1,59 @@ +# Dockerfile - alpine-fat +# https://github.com/openresty/docker-openresty +# +# This builds upon the base OpenResty alpine image that adds +# some build-related packages, has perl installed for opm, +# and includes luarocks and envsubst. +# +# NOTE: For envsubst, we install gettext (envsubst's source package), +# copy it out, then uninstall gettext (to save some space as envsubst is very small) +# libintl and musl are dependencies of envsubst, so those are installed as well + +ARG RESTY_IMAGE_BASE="openresty/openresty" +ARG RESTY_IMAGE_TAG="alpine" + +FROM ${RESTY_IMAGE_BASE}:${RESTY_IMAGE_TAG} + +LABEL maintainer="Evan Wies " + +# Docker Build Arguments +ARG RESTY_LUAROCKS_VERSION="3.5.0" + +RUN apk add --no-cache --virtual .build-deps \ + perl-dev \ + && apk add --no-cache \ + bash \ + build-base \ + curl \ + libintl \ + linux-headers \ + make \ + musl \ + outils-md5 \ + perl \ + unzip \ + && cd /tmp \ + && curl -fSL https://luarocks.github.io/luarocks/releases/luarocks-${RESTY_LUAROCKS_VERSION}.tar.gz -o luarocks-${RESTY_LUAROCKS_VERSION}.tar.gz \ + && tar xzf luarocks-${RESTY_LUAROCKS_VERSION}.tar.gz \ + && cd luarocks-${RESTY_LUAROCKS_VERSION} \ + && ./configure \ + --prefix=/usr/local/openresty/luajit \ + --with-lua=/usr/local/openresty/luajit \ + --lua-suffix=jit-2.1.0-beta3 \ + --with-lua-include=/usr/local/openresty/luajit/include/luajit-2.1 \ + && make build \ + && make install \ + && cd /tmp \ + && rm -rf luarocks-${RESTY_LUAROCKS_VERSION} luarocks-${RESTY_LUAROCKS_VERSION}.tar.gz \ + && apk add --no-cache --virtual .gettext gettext \ + && mv /usr/bin/envsubst /tmp/ \ + && apk del .build-deps .gettext \ + && mv /tmp/envsubst /usr/local/bin/ + +# Add LuaRocks paths +# If OpenResty changes, these may need updating: +# /usr/local/openresty/bin/resty -e 'print(package.path)' +# /usr/local/openresty/bin/resty -e 'print(package.cpath)' +ENV LUA_PATH="/usr/local/openresty/site/lualib/?.ljbc;/usr/local/openresty/site/lualib/?/init.ljbc;/usr/local/openresty/lualib/?.ljbc;/usr/local/openresty/lualib/?/init.ljbc;/usr/local/openresty/site/lualib/?.lua;/usr/local/openresty/site/lualib/?/init.lua;/usr/local/openresty/lualib/?.lua;/usr/local/openresty/lualib/?/init.lua;./?.lua;/usr/local/openresty/luajit/share/luajit-2.1.0-beta3/?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;/usr/local/openresty/luajit/share/lua/5.1/?.lua;/usr/local/openresty/luajit/share/lua/5.1/?/init.lua" + +ENV LUA_CPATH="/usr/local/openresty/site/lualib/?.so;/usr/local/openresty/lualib/?.so;./?.so;/usr/local/lib/lua/5.1/?.so;/usr/local/openresty/luajit/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/loadall.so;/usr/local/openresty/luajit/lib/lua/5.1/?.so" diff --git a/archive/Dockerfile.lua b/archive/Dockerfile.lua new file mode 100644 index 0000000..a1431cf --- /dev/null +++ b/archive/Dockerfile.lua @@ -0,0 +1,6 @@ +From openresty/openresty:alpine-fat +RUN apk add openssl +RUN luarocks install --tree lualdap && \ + luarocks install --tree lua_modules luaposix && \ + luarocks install --tree lua_modules etlua && \ + luarocks install --tree lua_modules luafilesystem && \ \ No newline at end of file diff --git a/archive/build b/archive/build new file mode 100755 index 0000000..6823557 --- /dev/null +++ b/archive/build @@ -0,0 +1,10 @@ +#wget https://github.com/kvspb/nginx-auth-ldap/archive/refs/heads/master.zip && unzip -o master.zip && rm master.zip +wget https://github.com/openresty/docker-openresty/archive/refs/heads/master.zip && unzip -o master.zip && rm master.zip + +docker build -t openrestyfet -f docker-openresty-master/alpine/Dockerfile \ + --build-arg "RESTY_CONFIG_OPTIONS_MORE=--add-module=/tmp/nginx-auth-ldap-master" \ + --build-arg "RESTY_EVAL_PRE_CONFIGURE=cd /tmp && wget https://github.com/kvspb/nginx-auth-ldap/archive/refs/heads/master.zip && unzip -o master.zip && rm master.zip && apk add --no-cache --virtual openldap-dev" + --build-arg _RESTY_CONFIG_DEPS="--with-pcre \ + --with-cc-opt='-DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl/include' \ + --with-ld-opt='-L/usr/local/openresty/pcre/lib -L/usr/local/openresty/openssl/lib -Wl,-rpath,/usr/local/openresty/pcre/lib:/usr/local/openresty/openssl/lib'" \ + . \ No newline at end of file diff --git a/archive/build2 b/archive/build2 new file mode 100755 index 0000000..11c7256 --- /dev/null +++ b/archive/build2 @@ -0,0 +1,9 @@ +#docker build -t openrestybase -f Dockerfile.base --build-arg RESTY_IMAGE_BASE=alpine . +docker build -t openresty-fet . --build-arg RESTY_IMAGE_BASE=openrestybase --build-arg RESTY_IMAGE_TAG=latest \ +--build-arg "RESTY_CONFIG_OPTIONS_MORE=--add-module=/tmp/nginx-auth-ldap-master" \ +--build-arg "RESTY_ADD_PACKAGE_BUILDDEPS=openldap-dev" \ +--build-arg _RESTY_CONFIG_DEPS="--with-pcre \ +--with-cc-opt='-DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl/include' \ +--with-ld-opt='-L/usr/local/openresty/pcre/lib -L/usr/local/openresty/openssl/lib -L/usr/include -Wl,-rpath,/usr/local/openresty/pcre/lib:/usr/local/openresty/openssl/lib'" + +#--build-arg "RESTY_EVAL_PRE_CONFIGURE=apk add openldap-dev" \ \ No newline at end of file